본문 바로가기

BOJ/Python

(192)
[BOJ/백준] 20353 - Atrium (Python) 문제 링크정사각형 면적을 입력받았을 때 둘레를 출력하는 문제이다. math 모듈의 sqrt() 함수를 사용해 한 변의 길이를 계산하고 4를 곱해 총 둘레 길이를 출력한다.import matharea=int(input())print(math.sqrt(area)*4)
[BOJ/백준] 32154 - SUAPC 2024 Winter (Python) 문제 링크등수를 입력하면 맞은 문제수와 문제 번호를 출력하는 문제이다. 등수를 key로, 맞은 문제 수와 번호를 리스트로 묶어 value로 저장한다.(이때, 문제 번호들도 리스트로 묶어준다.)team[n]를 출력하면 '[맞은 문제 수, [문제 번호들]]'으로 출력되므로 각각의 인덱스를 지정해 출력한다.문제 번호들은 공백으로 분리해 출력할 것이므로 리스트를 '*'로 풀고 sep=' '으로 공백을 준다.team={1: [11, ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'L', 'M']], 2: [9, ['A', 'C', 'E', 'F', 'G', 'H', 'I', 'L', 'M']], 3: [9, ['A', 'C', 'E', 'F', 'G', 'H..
[BOJ/백준] 20232 - Archivist (Python) 문제 링크연도를 입력했을 때, 그 해의 우승자를 출력하는 문제이다. 연도를 key로, winner name을 value로 dictionary에 저장해두고 입력받은 연도에 해당하는 value를 출력한다.2006년에는 우승자가 2명이므로 sep을 사용해 출력하고, 나머지 연도에는 우승자가 1명이므로 그대로 출력하면 된다.winner={1995: 'ITMO', 1996: 'SPbSU', 1997: 'SPbSU', 1998: 'ITMO', 1999: 'ITMO', 2000: 'SPbSU', 2001: 'ITMO', 2002: 'ITMO', 2003: 'ITMO', 2004: 'ITMO', 2005: 'ITMO', 2006: ['PetrSU', 'ITMO'], 2007: 'S..
[BOJ/백준] 18691 - Pokemon Buddy (Python) 문제 링크진화에 필요한 사탕의 수가 e, 가지고 있는 사탕의 수는 c이고, x km를 걸어야 사탕 1개를 얻을 수 있다.(그룹 1, 2, 3은 각각 1, 3, 5km를 걸어야 사탕 1개를 얻는다.)포켓몬이 진화하기 위해 걸어야 하는 거리를 구하라. 필요한 사탕 수가 가지고 있는 사탕 수보다 작으면 걸을 필요가 없다.그외의 경우에 걸어서 얻어야 하는 사탕의 수는 e-c이고 x=2*g-1을 만족한다.사탕 수와 x를 곱하면 포켓몬이 총 걸어야 하는 킬로미터 수가 나온다.t=int(input())for _ in range(t): g,c,e=map(int, input().split()) if e
[BOJ/백준] 18398 - HOMWRK (Python) 문제 링크n개의 문제에서 주어진 두 수의 합과 곱을 구하는 문제이다. t=int(input())for _ in range(t): n=int(input()) for _ in range(n): a,b=map(int,input().split()) print(a+b,a*b)
[BOJ/백준] 18330 - Petrol (Python) 문제 링크할당량 내 휘발유는 리터 당 1500, 초과하는 휘발유는 리터 당 3000 Oshloobs의 가격일 때, 다음달에 지불할 가격을 출력하는 문제이다. 달마다 60리터는 제공되기 때문에 남은 휘발유+60리터와 사용할 리터 중 최소값이 할당량 내 휘발유가 된다.할당량을 초과하는 휘발유는 0(n각각에 리터 당 가격을 곱해 더하면 된다.n=int(input())k=int(input())in_need=min(n, k+60)over_need=max(0, n-k-60)print(in_need*1500+over_need*3000)
[BOJ/백준] 18198 - Basketball One-on-One (Python) 문제 링크A와 B 중 먼저 11점을 달성하거나 경기가 끝났을 때 더 높은 점수를 갖는 사람이 이기는 게임이다.둘 다 10점인 경우에는 듀스 룰을 적용한다. 11점을 기본값으로 잡고 각자 얻은 점수를 빼서 먼저 0이 되는 사람이 이긴다고 본다.10점 이상이고 둘의 값이 같은 경우, 즉 만들어둔 리스트의 값이 모두 1일 때, 듀스 룰을 적용하여 2점 더 얻는 것으로 한다.시합이 끝나기 전에 11점, 즉 0이 된 사람이 있으면 for문을 종료하고 winner를 출력한다.시험이 끝나고도 11점이 되지 못한다면 둘 중 점수가 높은 사람, 즉 리스트 값이 작은 사람이 이긴다.win=input()score=[11,11]winner=Nonefor i in range(0,len(win)-1,2): if win[i]..
[BOJ/백준] 17903 - Counting Clauses (Python) 문제 링크 단순히 8줄 이상이면 satisfactory를 출력하면 된다.m,n=map(int, input().split())if m>=8: print('satisfactory')else: print('unsatisfactory')