목록분류 전체보기 (25)
DANIELOGIC
[Python] 백준 2292번 벌집https://www.acmicpc.net/problem/2292문제코드n = int(input())if n == 1: print(n)else: a = 2 b = 7 for i in range(n): a = a + 6*i b = b + 6*(i) if n >= a and n 리뷰수학적 규칙성을 찾아서 문제를 풀었다.이런식으로 쭉 적었을 때,2, 8, 20, 38, 62 에서는 6, 12, 18, 24 씩 커지고7, 19, 37, 61, 91 에서는 12, 18, 24 씩 커진다.따라서 6의 배수만큼 범위가 커지는 것을 확인했다.
[Python] 백준 10809번 알파벳 찾기https://www.acmicpc.net/problem/10809문제코드a = input()for i in range(26): for x in a: if x == chr(i+97): print(a.index(x),end=" ") break if x != chr(i+97): print(-1,end=" ")리뷰아스키코드를 사용해서 쉽게 풀었다. a~z를 문자열로 선언하고 반복문을 사용하는 방법도 존재하는것 같다.확실히 C를 배우고 나니까 문자를 정수처럼 볼 수 있다는 것이 좋다.
[Python] 백준 2309번 일곱 난쟁이https://www.acmicpc.net/problem/2309문제코드l = []for i in range(9): l.append(int(input()))l.sort()k = sum(l)-100for i in range(9): if sum(l) == 100: break for x in range(i+1,9): if l[i] + l[x] == k: l[i] = l[x] = 0 breakfor _ in l: if _ != 0: print(_)리뷰일곱 난쟁이의 키를 전부 더하면 100이 되므로아홉 난쟁이의 키를 더한 뒤 100을 빼면 일곱 난쟁이가 아닌 두 난쟁이들의 ..
[Python] 백준 2822번 점수 계산https://www.acmicpc.net/problem/2822문제코드l = []l2 = []for i in range(8): l.append(int(input()))l2 = sorted(l)k = l2[3]for i in range(8): if l[i]
[Python] 백준 2577번 숫자의 개수https://www.acmicpc.net/problem/2577문제코드sum = 1for i in range(3): sum *= int(input())sum = str(sum)l = [0,0,0,0,0,0,0,0,0,0]for i in sum: l[int(i)] += 1for i in l: print(i)
[Python] 백준 10991번 별 찍기 - 16https://www.acmicpc.net/problem/10991문제코드t = int(input())for i in range(1,t+1): print(" "*(t-i)+"* "*i)리뷰각 줄에서 마지막 "*"이 출력된 후 한 칸의 공백은 허용된다고 한다.두 칸 이상은 봐주지 않는다. 살짝 어이가 없었지만 덕분에 코드를 간결하게 짤 수 있었다.
[Python] 백준 2921번 도미노https://www.acmicpc.net/problem/2921문제코드t = int(input())sum = 0for i in range(1,t+1): for x in range(i+1): sum += xprint(sum*3)리뷰본래 의도와는 다르게 수학적 규칙성을 찾아서 문제를 풀었다.N = 3 일 때의 모습이다.여기서 한가지 규칙성을 발견할 수 있다. N = 2 일 때 위쪽 방향에 있는 점들의 합은 4이고, 아래쪽 방향에 있는 점들의 합은 8이다.N = 3 일 때 위쪽 방향에 있는 점들의 합은 10이고, 아래쪽 방향에 있는 점들의 합은 20이다.위쪽 방향에 있는 점만 구한 뒤 3을 곱해주면 정답을 구할 수 있다. 위쪽 방향에 있는 점 구하는 방..
[Python] 백준 8892번 팰린드롬https://www.acmicpc.net/problem/8892문제코드t1 = int(input())for i in range(t1): l=[] t2 = int(input()) for x in range(t2): l.append(input()) dap = 0 for y in range(t2): for x in range(t2): if x != y: a = l[y]+l[x] s = 0 for i in range(0,len(a)//2): if a[i] != a[-i-1]: ..