전체 글 143

[알고리즘 공부] 3. 완전 탐색(brute force)

참고 : 완전 탐색(Brute-force Search) 모든 문제를 푸는 데 있어서 가장 쉽고 간단한 방법부터 짚고 넘어가 봅시다. 완전탐색, 브루트포스(Brute... blog.naver.com 완전 탐색(Brute force)는 가능한 경우를 모두 탐색하는 것이다. 틀릴 가능성은 적지만, 시간이 최대로 든다. 완전 탐색 시간을 줄이기 위해 정렬과 함께 사용하는 경우가 있다. SW 검정 시험 시, 우선 완전 탐색으로 접근한 후 성능 개선을 위해 다른 알고리즘을 사용하는 방식이 바람직하다. 연관 문제: SWEA- 5203. 베이비진 게임 백준 - 단계별 풀기 (https://www.acmicpc.net/step/22) 브루트 포스 단계 체스판을 만드는 모든 경우를 시도하여 최적의 방법을 찾는 문제 www..

[백준]11729. 하노이 탑 이동 순서

11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 풀이 이 문제도 옮긴 횟수 K의 규칙성은 알겠는데, 이동하는 것을 출력하는 부분에서 막혀 한참 고민하다 블로그를 찾아보았다. 저번에 별찍기 문제에서도 도움을 받은 분이었는데, 하노이 탑이 왜 재귀 함수를 사용해서 풀어야 하는 문제인지 단계별로 그림과 함께 설명해주셔서 이해하기 쉬웠다.(https://mgyo.tistory.com/185) '하노이의 탑' 이해하기 (feat. 재귀 함수) 들어가며 하노이의 탑 문제 소개 문제 정의 아이디어 얻기 아이디어..

[백준] 2447. 별 찍기 - 10

2447번: 별 찍기 - 10 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 www.acmicpc.net 이번 문제는 정말 어려웠다...! 한참을 고민해도 답을 찾지 못해서, 푸신 분들의 블로그를 찾다가 재귀를 활용해 굉장히 간단하게 구현하신데다 설명도 이해하기 쉽게 써주신 분의 블로그를 참조해 문제를 풀 수 있었다!(https://mgyo.tistory.com/183) [백준] 2447번 별찍기 문제 재귀 함수 이용해서 풀기 문제 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 ..

[백준] 17478. 재귀함수가 뭔가요?

17478번: 재귀함수가 뭔가요? 평소에 질문을 잘 받아주기로 유명한 중앙대학교의 JH 교수님은 학생들로부터 재귀함수가 무엇인지에 대하여 많은 질문을 받아왔다. 매번 질문을 잘 받아주셨던 JH 교수님이지만 그는 중앙대 www.acmicpc.net 풀이 처음 봤을 때는 '이게 뭐람?' 싶었지만 출력 예시를 잘 뜯어보면 재귀를 사용해서 풀 수 있는 쉬운 문제! 앞의 '____'(----가 아니다! 처음에 ----인 줄 알고 이걸로 풀었더니 틀렸었다.) 의 개수가 몇 개씩 늘어나는지, 어떤 문장이 몇번 반복되고 있는지를 체크해보며 풀면 된다. #17478 재귀함수가 뭔가요? def recursion(N, lines): print(lines + '\"재귀함수가 뭔가요?\"') if N > 0: print(lin..

[백준] 10872 팩토리얼, 10870 피보나치 수 5

10872번: 팩토리얼 10872번: 팩토리얼 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 팩토리얼은 3가지 방법으로 풀었다. 재귀 함수로 한번, 반복문을 이용해 한번, 파이썬 자체적인 내장함수를 이용해 한번. 내장함수를 쓰는 방법이 제일 오래 걸렸다. # 10872 팩토리얼 # 첫 번째 방법: 재귀함수 def fact(N): if N > 0: return N * fact(N-1) else: return 1 N = int(input()) ret = fact(N) print(ret) # 두 번째 방법 : 반복문 활용 N = int(input()) sum = 1 for i in range(N, 0, -1): sum *= i prin..

2021.11월 [요즘광고]소비자와 소통하는 인터랙티브 광고

안녕하세요! 광고를 사랑하는 개발자, 광발자 MS입니다~ 저는 요즘 SSAFY에서 '반응형' 웹에 대해 공부하는 중입니다! 사용자와 소통할 수 있는 웹 어플리케이션을 나중에 광고에도 활용해보고 싶다고 생각하며, 열심히 배우고 있는데요! 모바일 디바이스같이 양방향 소통 매체가 증가하면서, 광고계에서도 소비자와 소통하는 '인터랙티브' 광고가 부각되고 있습니다! 저는 오늘, 그런 인터랙티브 디지털 광고들 중 멋진 사례를 하나 소개해드리고자 합니다! 코카콜라 제로, 소리로 마시다! 여러분, 코카콜라 하면 어떤 것이 떠오르시나요? 코카콜라를 딸 때의 '치익-'하는 소리, 뽀글뽀글 올라오는 기포, 마실 때의 달콤하고 청량한 맛 등 여러 가지 감각을 떠올리실 텐데요, 오늘 소개해드릴 이 광고의 핵심은 바로 '소리' ..

2021.10월 [요즘광고] 명품 브랜드, 동물의 숲에 입점하다?

코로나19로 인해 전세계적으로 사람들의 야외 활동이 줄어들면서, 패션업계는 큰 타격을 입게 되었습니다. 이러한 상황을 극복하기 위해 패션업계는 가상현실로 눈을 돌리게 됩니다. 2020년 3월에 출시된 가상현실 게임 은 코로나19로 인해 야외 활동이 어려워진 사람들에게 게임 속에서 낚시를 하거나, 과일을 따거나, 친구와 만날 수 있는 경험을 줍니다. 출시 후 닌텐도 스위치 가격이 폭등했고, 그럼에도 품절되는 상황이 발생했습니다. 유명 패션브랜드 마크 제이콥스와 발렌티노는 바로 이 '모여봐요 동물의 숲' 게임에 주목했습니다. 동물의 숲에는 유저가 직접 캐릭터의 의상을 디자인할 수 있는 '마이 디자인' 기능이 있습니다. 마크 제이콥스와 발렌티노는 자사의 2020년 S/S 컬렉션을 이 '마이 디자인'을 통해 동..

2021.8월 [요즘광고] 요즘은 앱을 만들어서 광고한다며?

안녕하세요! SSAFY 6기의 광고하는 개발자, 광발자 MS입니다! 4차산업 혁명 이후 디지털 중심으로 광고 매체와 방법이 점점 바뀌어가고 있습니다. 앞으로 '요즘광고'에서는 디지털 중심으로 바뀐 광고시장을 살펴볼 수 있는 여러 사례들을 소개해보고자 합니다! 최근의 광고 캠페인은 광고 대행사가 참여해 직접 어플리케이션을 개발하여 이루어지기도 합니다. 그 중 제가 인상깊게 보았던 광고 캠페인, 제일기획 X 삼성전자의 '굿 바이브' 캠페인을 오늘 소개해드릴게요. 굿바이브 캠페인 영상 '굿 바이브' 캠페인은 소통에 어려움을 겪고 있는시청각 장애인들이 장애인, 비장애인 모두와 소통할 수 있도록 돕기 위해 개발된 삼성 모바일 어플리케이션 ' Samsung Good Vibes'를 활용한 광고 캠페인이었습니다. 모스..

[백준] 4948. 베르트랑 공준

4948번: 베르트랑 공준 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼 www.acmicpc.net 처음에 이렇게 풀었는데 시간 초과가 났다 # 4948 베르트랑 공준 import math def isPrime(n): cnt = 0 for num in range(n + 1, 2 * n + 1): sq = int(math.sqrt(num)) flag = False for i in range(2, sq+1): if num % i == 0: flag = True break if flag is True: continue else: cnt += 1 return ..

[백준] 1929. 소수 구하기

1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 첫번째 시도: 이전처럼 2부터 n-1까지 모든 수로 n을 나누며 소수를 판별하는 방법을 사용했는데 시간초과가 났다. 두번째 시도: 아래 블로그 글을 참고해 제곱근을 활용하여 2부터 n-1이 아니라 2부터 제곱근까지로 나누어 소수를 판별하도록 알고리즘을 짰다. [백준 알고리즘] 백준 1929번 소수 구하기 파이썬(Python) 츄르사려고 코딩하는 코집사입니다. 1. [백준 알고리즘] 백준 1929번 소수 구하기 파이썬(Python) 1) 문제번호 : 1929번 2) 문제 출처 https://ww..