STUDY 526

[백준] 1244 스위치 켜고 끄기

www.acmicpc.net/problem/1244 1244번: 스위치 켜고 끄기 첫째 줄에는 스위치 개수가 주어진다. 스위치 개수는 100 이하인 양의 정수이다. 둘째 줄에는 각 스위치의 상태가 주어진다. 켜져 있으면 1, 꺼져있으면 0이라고 표시하고 사이에 빈칸이 하나씩 www.acmicpc.net 수학문제들은 왜 이상한 행동을 할까 스위치 켜고 끄기하면 등짝 스매시 한대 맞을각인데... import sys #input = sys.stdin.readline sys.stdin=open(".idea/inputs/1244_input1.txt","r") sw = int(input()) sw_list = list(map(int, input().split())) number_students = int(input..

STUDY/Algorithm 2021.02.10

[백준] 2615 오목

www.acmicpc.net/problem/2615 2615번: 오목 오목은 바둑판에 검은 바둑알과 흰 바둑알을 교대로 놓아서 겨루는 게임이다. 바둑판에는 19개의 가로줄과 19개의 세로줄이 그려져 있는데 가로줄은 위에서부터 아래로 1번, 2번, ... ,19번의 번호 www.acmicpc.net 더보기 badukpan = list() max_width = 19 plus_width = 5 for _ in range(plus_width): tmp = [0]*(max_width+2*plus_width) badukpan.append(tmp) for _ in range(max_width): tmp=[0] * plus_width tmp.extend(list(map(int, input().split()))) tmp..

STUDY/Algorithm 2021.02.09

[백준] 1011 Fly me to the Alpha Centauri

www.acmicpc.net/problem/1011 1011번: Fly me to the Alpha Centauri 우현이는 어린 시절, 지구 외의 다른 행성에서도 인류들이 살아갈 수 있는 미래가 오리라 믿었다. 그리고 그가 지구라는 세상에 발을 내려 놓은 지 23년이 지난 지금, 세계 최연소 ASNA 우주 비행 www.acmicpc.net import sys from math import sqrt input = sys.stdin.readline t=int(input()) for tc in range(t): x,y=map(int,input().split()) distance = y-x n=int(sqrt(distance)) if (n**2) == distance: print(2*n - 1) elif di..

STUDY/Algorithm 2021.02.07

[백준] 2839 설탕배달

www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net n=int(input()) result = 0 break_chk = False while n>0: #print(n) if n % 5 == 0: result += n // 5 break_chk = True break else: n -= 3 result += 1 if n==0: break_chk = True if break_chk: print(result) else: print(-1) 5kg짜리가 더 많아야하므로 나누어지면 ..

STUDY/Algorithm 2021.02.07

[백준] 2775 부녀회장이 될테야

www.acmicpc.net/problem/2775 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다 www.acmicpc.net import sys input = sys.stdin.readline t = int(input()) for tc in range(t): K=int(input()) N=int(input()) floor =[[i for i in range(1,15)]] for k in range(1,K+1): tmp= [] for n in range(N): tmp.append(sum(floor[k-1][:n+1])) floor.append(tmp) print(floor[K..

STUDY/Algorithm 2021.02.07

[백준] 1193 분수찾기

www.acmicpc.net/problem/1193 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net x=int(input()) dp = [0,1] result = 1 cnt = 1 while dp[-1] cnt가 홀짝에 따라 달라짐 if cnt%2: #odd ja=cnt+1-x+dp[-2] mo=x-dp[-2] else: #even ja=x-dp[-2] mo=cnt+1-x+dp[-2] print(f'{ja}/{mo}') 차례대로 배치했을 때 x번째 수가 몇번째 줄인지 찾기 위해 dp라는 리스트에 담았다. 해당되는 줄(cnt로 체크)에 따라 위로 올라가는지 아래로 내려가는지 판단했고, 그에따라 분자와 분모를 달리줬다.

STUDY/Algorithm 2021.02.07

[백준] 2504 괄호의값

www.acmicpc.net/problem/2504 2504번: 괄호의 값 4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다. 한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다. 만일 www.acmicpc.net s=input() stack=[] result = 0 if s.count('(') != s.count(')') or s.count('[') != s.count(']'): s='' #반복문 안돌리기 try: for ch in s: tmp = [] #닫는 괄호를 만나는 경우에 여는 괄호를 만날때까지 다 꺼냄 if ch == ']': while stack!=[]: tmp_ch = stack.pop() if tmp_..

STUDY/Algorithm 2021.02.07

[백준] 3985 롤케이크

www.acmicpc.net/problem/3985 3985번: 롤 케이크 첫째 줄에 롤 케이크의 길이 L (1 ≤ L ≤ 1000)이 주어진다. 둘째 줄에는 방청객의 수 N (1 ≤ N ≤ 1000)이 주어진다. 다음 N개 줄에는 각 방청객 i가 종이에 적어낸 수 Pi와 Ki가 주어진다. (1 ≤ Pi ≤ Ki www.acmicpc.net l=int(input()) # 롤케이크 길이 n=int(input()) # 방청객의 수 want=[] max_if, max_real = 0, 0 idx_if, idx_real = 0, 0 for i in range(n): tmp = tuple(map(int,input().split())) if (tmp[1]-tmp[0]+1) > max_if: max_if = tmp[..

STUDY/Algorithm 2021.02.06