본문 바로가기

BOJ/Python

(192)
[BOJ/백준] 13496 - The Merchant of Venice (Python) 문제링크배의 수, 속도, 계약 만기일까지의 일수, 각 배의 거리와 화물 가치를 입력받아만기일까지 도착할 수 있는 배의 화물 가치의 합을 출력하는 문제이다. 배가 만기일까지 도착하기 위해서는 거리가 만기일까지의 일수와 배의 속도의 곱보다 작거나 같아야 한다.만기일까지 도착하는 경우 해당하는 배의 화물 가치를 더한다.총 화물 가치를 'Data Set {} :\n {}' 형태로 출력한다.t=int(input())for i in range(1, t+1): val=0 n,s,d=map(int,input().split()) for _ in range(n): di,vi=map(int,input().split()) if di
[BOJ/백준] 11257 - IT Passport Examination (Python) 문제링크시험은 3개의 영역으로 각각 35, 25, 40%를 차지한다.합격하기 위해서는 총점이 55점 이상이고 각 영역이 해당 영역 점수의 30% 이상이어야 할 때,응시자의 합불 여부를 출력하는 문제이다. 기본 상태를 FAIL로 설정하고 합격 기준에 해당하는 상태에서만 PF를 PASS로 갱신한다.그 후 응시번호와 총점, 합불여부를 출력한다.n=int(input())for _ in range(n): PF='FAIL' examinee,s,m,t=map(int, input().split()) if (s+m+t>=55) and (s>=35*0.3 and m>=25*0.3 and t>=40*0.3): PF='PASS' print(examinee, s+m+t, PF)
[BOJ/백준] 11121 - Communication Channels (Python) 문제링크입력과 출력 비트 문자열이 비교해 전송이 정확히 이루어졌는지 확인하는 문제이다. t=int(input())for _ in range(t): input_b, output_b=input().split() if input_b==output_b: print('OK') else: print('ERROR')
[BOJ/백준] 10188 - Quadrilateral (Python) 문제 링크각 케이스마다 width와 length를 입력받고 'X'로 이루어진 해당하는 크기의 사각형을 출력하는 문제이다. 첫 for 문으로 총 n번의 케이스마다 사각형을 출력한다. 그 안에서 for문에서 해당하는 w의 문자열을 h줄 출력한다.케이스 사이에 한 줄 공백이 있으므로 print()을 써준다.n=int(input())for _ in range(n): w,h=map(int,input().split()) for _ in range(h): print('X'*w) print()
[BOJ/백준] 9782 - Median (Python) 문제 링크각 케이스에 입력받을 수의 개수와 수들을 입력받고 그 수들의 median을 구하는 문제이다. while True 문으로 0을 입력받기 전까지 무한루프를 돌린다.0을 입력받는 경우 break로 종료하게 된다.0이 아닌 경우 길이의 홀,짝수와 median 공식에 근거하여 계산하고 출력하면 된다.case = 0while True: case += 1 length, *num = list(map(int, input().split())) if length==0: break elif length % 2 == 0: med = (num[length // 2] + num[length // 2 - 1]) / 2 else: med = num[leng..
[BOJ/백준] 9699 - RICE SACK (Python) 문제 링크rice sacks 중 가장 무거운 것을 'Case #{}: {}' 형태로 출력하는 문제이다. 케이스 번호를 함께 출력해야 하므로 for문의 범위를 (1, n+1)로 설정한다.rice sacks를 공백을 포함해 입력받고 int형으로 각각을 list에 저장한다.그 리스트에서 max 값을 주어진 형태에 맞춰 출력한다.n=int(input())for i in range(1, n+1): sacks=list(map(int, input().split())) print(f'Case #{i}: {max(sacks)}')
[BOJ/백준] 6841 - I Speak TXTMSG (Python) 문제 링크Short Form을 입력받으면 그에 해당하는 해석을 제공하는 문제이다. trans라는 딕셔너리에 Short From과 Translation을 각각 key와 value로 정리한다,try와 except 블럭으로 예외 발생 시 프로그램을 종료하도록 설정한다.input이 trans에 key로 저장되어 있을 시 해당하는 key 값의 value를 출력한다.trans={'CU':'see you', ':-)':"I’m happy", ':-(':"I’m unhappy", ';-)': 'wink', ':-P':'stick out my tongue', '(~.~)':'sleepy', 'TA':'totally awesome', 'CCC':'Canadian Computing Competition',..
[BOJ/백준] 5358 - Football Team (Python) 문제링크이름에서 'i'는 'e'로,  'I'는 'E'로,  'e'는 'i'로,  'E'는 'I'로 바꾸는 문제이다. str.maketrans() 함수를 사용하면 특정 문자를 다른 문자로 바꾸는데 필요한 변환 규칙이 생성된다.while True으로 프로그램이 종료될 때까지 입력을 받게 된다(무한 루프).이름을 입력받고 name.translate(change)를 통해 위에서 생성한 규칙에 따라 이름을 변환한다.try 블록에서 예외가 발생하면 프로그램을 종료하는데,안전히 종료하기 위해 except 블록과 exit(0)을 사용한다. change=str.maketrans('iIeE', 'eEiI')try: while True: name=input() name=name.translat..