/images/logo.png

[백준]1241 머리 톡톡

https://www.acmicpc.net/problem/1241 풀이: 1번 부터 N번까지 학생들의 머리 위의 숫자들의 개수를 저장해놓는다 ex) 2는 2번, 1은 1번… 자신의 머리 위의 수를 소인수분해한다. 소인수분해를 통해 나온 약수들이 나온 개수만큼 모두 더해준다. 자기 자신과 같은 수 일 때는 자기 자신을 세지않으므로 조심하자. 코드: 사용언어 : python 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 import math N=int(input()) a=[] d=dict() for i in range(N): a.append(int(input())) d[a[-1]] = d.

[백준]1188 음식 평론가

https://www.acmicpc.net/problem/1188 풀이: 소시지가 N개 평론가가 M명 있을 때, 각각의 평론가는 N/M개의 소시지를 가지고 간다. (그러므로 만약, N이 M으로 나누어 떨어진다면 소시지를 자르지 않아도 된다.) => GCD(N, M) = M N개의 소시지를 이어붙여 1개의 소시지로 만든다면, 소시지는 M - 1번 잘라야 한다. => GCD(N, M) = 1 즉, M - GCD(N, M) 번 자른다면 평론가들은 모두 동일한 양의 소시지를 얻을 수 있다. 코드: 사용언어 : python 1 2 3 import math n,m=map(int,input().

[백준]1092 배

https://www.acmicpc.net/problem/1092 풀이: 크레인과 박스를 정렬한다 단, 이때 정렬은 내림차순으로 해야한다. 오름차순으로 할 경우 안되는 경우의 수가 존재. 정렬된 크레인과 박스의 맨 처음을 비교한다. 만약 박스의 무게가 더 크다면, 모든 박스를 옮길 수 없으므로 -1을 출력한다. 크레인을 한칸씩 오른쪽으로 이동시키면서 박스를 확인한다. 옮긴 박스는 0으로 바꾸고, 이미 0인 박스는 지나친다. 모든 크레인을 사용했다면 time을 1늘리고, 다시 반복한다. 모든 박스를 옮길 때까지 반복한 후 time을 출력한다. 코드: 사용언어 : python 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 a,b,c,d=int(input()),list(map(int, input().

[백준]1089 스타트링크 타워

https://www.acmicpc.net/problem/1089 풀이: 5 * 3 자리에서 각 자리에 ‘#’ 이 들어올 경우 될 수 없는 숫자를 찾아놓는다. ex) (0, 0) 자리에 ‘#’ 이 올 경우 1은 절대 될 수 없다. 첫 번 째 숫자 부터 N까지의 숫자를 찾아가면서 가능한 숫자를 저장해놓는다. 가능한 숫자를 모두 조합한다면, 너무 많은 조합이 가능하므로 다른 방법을 사용한다. ex) 각 자리에 [1], [2, 3], [1, 8, 9] 가 가능하다면, 만들 수 있는 조합은 121, 128, 129, 131, 138, 139 로 총 6가지 이다.