BOJ

Algorithm

[백준] 4375번 1 파이썬 초간단 문제 풀이

문제 풀이 처음에는 이게 뭐지? 했는데 3의 배수(3, 6, 9 , 12, ...)중에 1로만 이루어진 수 '111'은 3자리수기 때문에 3을 출력하고, 7의 배수(7, 14, 28, ...)중에 '1'로만 이루어진 수를 찾는 문제였습니다. 문제를 이해하니 간단하게 풀 수 있습니다. 저는 직관적으로 문자열을 1씩 더해가며 나누어 떨어지면 자릿수를 출력하도록 작성하였습니다. 이 문제는 종료 조건이 따로 명시되어 있지 않기 때문에 try except를 이용하여 EOFError가 발생하면 멈추도록 작성하였습니다. while True: try: n = int(input()) except EOFError: break total = '1' while True: if int(total) % n == 0: print(..

Algorithm

[백준] 1476번 날짜 계산 파이썬 문제 풀이

[문제 풀이] 위 문제는 브루트 포스 문제로 수의 범위가 넘어가면 1로 초기화해주면 되는 아주 간단한 문제이기 때문에 코드에 대한 설명은 생략하겠습니다. E, S, M = map(int, input().split()) year = 0 E1 = 0 S1 = 0 M1 = 0 while True: if E == E1 and S == S1 and M == M1: break year += 1 E1 += 1 S1 += 1 M1 += 1 if E1 > 15: E1 = 1 if S1 > 28: S1 = 1 if M1 > 19: M1 = 1 print(year)

Algorithm

[백준] 1920번 수 찾기 파이썬 문제 풀이

문제 고민 처음 이 문제를 봤을때는 간단하게 생각하고 쉽게 풀었습니다. 하지만 다른 알고리즘들이 그렇듯 시간초과 문제가 발생했었고, 한참 고민하다 이진탐색 알고리즘을 알게 되었습니다. 그래서 이진탐색 알고리즘에 대해서 공부를 하게 됐습니다. 이진탐색 알고리즘 해당 배열이 있을때 시작, 중간, 끝점을 정해두고 찾고자 하는값이 중간점보다 큰지 작은지 비교한다. 만약에 중간점보다 값이 작다면(2 혹은 3) 아래와 같은 그림으로 끝점은 중간점보다 1칸 작은값으로 이동하게 되고 시작점과 비교해 중간점을 구합니다. 만약 이때 중간점이 구해진다면 일반적인 순차 탐색이라면 최대 8번이 걸릴 수 있었던 과정을 2번의 탐색으로 구할 수 있게 되는 알고리즘입니다. 정리 시작점과 끝점을 구해주고 중간점을 구한다. Target..

Algorithm

[백준] 10845번 큐 파이썬 문제풀이

from collections import deque import sys que = deque() def push(X): que.append(X) def pop(): if len(que) == 0: return -1 return que.popleft() def size(): return len(que) def empty(): if len(que) == 0: return 1 return 0 def front(): if len(que) == 0: return -1 return que[0] def back(): if len(que) == 0: return -1 return que[-1] result = [] N = int(sys.stdin.readline().rstrip()) for _ in range(N):..

Algorithm

[백준]9012번 괄호 문제 풀이

T = int(input()) result = [] for _ in range(T): VPS = input() num = 0 for i in VPS: if num

mntdev
'BOJ' 태그의 글 목록