728x90 Problem Solving103 [백준] 1978 소수 찾기 python 알고리즘 문제 문제 1978. 소수 찾기 1. 나의 코드와 발상 과정 ## 오답 n = int(input()) num_list = list(map(int, input().split())) ans = 0 for i in range(n): a = num_list[i] if a == 2 or a == 3 or a == 5 or a == 7: ans += 1 elif a == 1 or a % 2 == 0 or a % 3 == 0 or a % 5 == 0 or a % 7 == 0: continue else: ans += 1 print(ans) 1은 소수가 아니다. 소수는 1과 자기자신만을 약수로 가지는 수이다. 그렇다면 소수가 아닌 수에 공통적으로 들어가 있는 소수는 무엇일까? 아 2, 3, 5, 7이 있지 않을까. 그러면 2.. 2022. 4. 25. [백준] 4949 균형잡힌 세상 python 알고리즘 문제 문제 4949. 균형잡힌 세상 1. 나의 코드와 발상 과정 import sys answer_list = [] while True: a = sys.stdin.readline().rstrip() if a == '.': break answer = [] for i in a: if i.isalpha() or i == " ": continue elif i == '.': break elif i == '(': answer.append(i) elif i == '[': answer.append(i) elif i == ')': if len(answer) != 0 and answer[-1] == '(': answer.pop() else: answer.append(')') continue elif i == ']': if len.. 2022. 4. 25. [백준] 9012 괄호 python 알고리즘 문제 문제 9012. 괄호 1. 나의 코드와 발상 과정 ### 오답 from collections import deque queue = deque() n = int(input()) vps_list = list() ans_list = [] for i in range(n): vps_list.append(deque(input())) for vps in vps_list: if len(vps) % 2 != 0 or vps[0] == ')': ans_list.append('NO') continue else: while True: if len(vps) == 0: ans_list.append('YES') break if vps[-2] == '(' and vps[-1] == ')': vps.pop() vps.pop() els.. 2022. 4. 25. [백준] 10773 제로 python 알고리즘 문제 문제 10773. 제로 1. 나의 코드와 발상 과정 import sys k = int(sys.stdin.readline()) money_list = [] for i in range(k): a = int(sys.stdin.readline()) if a == 0: money_list.pop() else: money_list.append(a) print(sum(money_list)) 문제도 어렵지 않았고, 코드 구성도 간단했다. money_list 속에 a를 받아오는데, 만약 0이라면 현재 입력값을 넣지 않고, 그 전 반복에서 넣었던 숫자를 뺀다. a가 0이 아닐 경우에만 계속 list에 집어 넣고, money_list의 전체 입력값을 더해 출력한다. 문제 출처: https://www.acmicpc.net/p.. 2022. 4. 24. [백준] 2164 카드2 python 알고리즘 문제 문제 2164. 카드2 1. 나의 코드와 발상 과정 from collections import deque n = int(input()) queue = deque([i for i in range(n, 0, -1)]) while len(queue) > 1: queue.pop() queue.rotate(1) # queue.appendleft(queue.pop()) print(queue[0]) 4321 을 예로 들면, 1번이 빠지고 432가 남고 그다음 2를 맨 뒤에 배치해서 243이 되게 만든다. 이 순환을 반복해서 하나의 원소만 남게 하면 된다. 구글 선생님께 queue.appendleft(queue.pop())의 과정을 단순하게 할 수 있는 것이 무엇이 있냐 했더니, collection.deque 모듈의 .. 2022. 4. 24. [백준] 11866 요세푸스 문제 0 python 알고리즘 문제 문제 11866. 요세푸스 문제 0 1. 나의 코드와 발상 과정 from collections import deque queue = deque() answer = [] n, k = map(int, input().split()) for i in range(1, n+1): queue.append(i) while len(answer) < n: for i in range(k-1): queue.append(queue.popleft()) answer.append(queue.popleft()) print("") 예제 입력을 보고 순간 이해가 되지 않았다. 1~7번째의 사람이면 첫 번째 죽는 사람은 3번째 사람인데, 왜 6번째 사람이 1번으로 죽는 것인지에 대해 의문이었다. 그렇지만 잘못 이해했다는 것을 금방 알 수 .. 2022. 4. 24. 이전 1 ··· 11 12 13 14 15 16 17 18 다음 728x90