BOJ/Python (192) 썸네일형 리스트형 [BOJ/백준] 10179 - 쿠폰 (Python) 문제문제링크원래 가격이 주어질 때 20% 할인된 가격을 소수점 둘째자리까지 출력하라. 풀이20% 할인되었다면, 원래가격의 80%로 계산하면 된다.f-string으로 달러단위를 붙여 소수점 두번째 자리(.2f)까지만 출력한다. 코드n=int(input())for _ in range(n): price=float(input()) discount_price=price*0.8 print(f'${discount_price:.2f}') [BOJ/백준] 33964 - 레퓨닛의 덧셈 (Python) 문제문제링크K자리 레퓨닛은 각 자리 숫자가 모두 1인 K자리 양의 정수이다.X자리 레퓨닛과 Y자리 레퓨닛의 합을 구하라. 풀이자리수가 주어질 때 그 자리수만큼 1로 채워진 숫자를 쉽게 구하기 위해서는 문자 '1'을 자리수만큼 곱한 후 int형으로 바꾸면 된다. 코드X, Y= map(int, input().split())x_repunit=int(X*'1')y_repunit=int(Y*'1')print(x_repunit+y_repunit) [BOJ/백준] 5361 - 전투 드로이드 가격 (Python) 문제문제링크전투 드로이드의 부품의 가격은 다음과 같다.블래스터 라이플시각 센서청각 센서팔다리$350.34$230.90$190.55$125.30$180.90각 부품의 필요한 개수가 주어질 때 소수점 둘째 자리까지 필요 비용을 구하라. 풀이총 비용을 계산하는 price() 함수를 작성한다.각 부품의 가격을 저장한 리스트를 생성하고for문으로 입력받은 부품의 수와 해당 가격을 곱한 값을 새 리스트에 저장하고 이 리스트의 sum을 return한다.이 함수에 입력받은 부품 수 리스트를 넣고 f-string으로 달러 표시와 함께 소수점 둘째 자리까지 출력한다. 코드def price(parts): part_price= [350.34, 230.90, 190.55, 125.30, 180.90] tot=sum([par.. [BOJ/백준] 4880 - 다음수 (Python) 문제문제링크세 개의 숫자가 주어질 때, 이 수열이 등차수열인지 등비수열인지 구하고 다음 항을 구하라.모든 입력은 항상 등차수열이나 등비수열이고 입력의 마지막 줄에는 0이 세 개 주어진다. 풀이보통의 경우 입력 마지막 줄에 0이 주어진다고 하면 a+b+c==0으로 처리하지만이 문제에서는 등차수열 -k, 0, k도 이 조건에 만족되므로 예외상황이 생긴다.따라서 a, b, c 각각이 0인지를 확인해야 한다.그 후 등차와 등비의 성질을 사용해 수열을 판단하고 등차수열이면 두 수의 차를 c에 더해주고 등비수열이면 두 수의 비를 c에 곱해준다. 코드while True: a,b,c=map(int, input().split()) if a==0 and b==0 and c==0: break elif a+c==2*b.. [BOJ/백준] 4766 - 일반 화학 실험 (Python) 문제문제링크온도 입력이 주어질 때 그 차이를 소수점 둘째자리까지 출력하라.마지막 입력 후에는 999가 주어지며 입력은 최소 2개이다. 풀이맨 처음의 온도를 temp에 저장한다.current에 그 이후 온도를 저장하고 만약 이 값이 999면 종료한다.f-string을 통해 current와 temp의 차를 출력한다.while문으로 감쌌으므로 temp에 현재 current값이 저장하고 다시 current에 입력을 받는다. 코드temp=float(input())while True: current=float(input()) if current==999: break print(f"{current-temp:.2f}") temp=current [BOJ/백준] 11006 - 남욱이의 닭장 (Python) 문제문제링크일부 닭의 다리가 하나씩 사라졌고 총 다리수와 닭의 수가 주어질 때, 한 다리가 사라진 닭의 수를 구하라. 풀이닭의 다리는 2개이므로 2*(닭의 수)-(총 다리수)를 구하면 사라진 다리수가 나온다.다리가 사라지는 경우는 딱 하나만 사라지는 경우와 같으므로 위 계산값을 그대로 출력하면된다.멀쩡한 닭은 전체 닭의 수에서 이 값을 빼준면 된다. 코드t=int(input())for _ in range(t): n,m=map(int, input().split()) lost_legs=2*m-n print(lost_legs, m-lost_legs) [BOJ/백준] 1252 - 이진수 덧셈 (Python) 문제문제링크두 개의 이진수를 입력받아 이를 더해 이진수로 출력하라. 풀이입력을 문자열로 받고 int(x, 2)를 통해 문자열을 2진수로 해석해 10진수 정수로 변환한다.두 수를 더한 후 bin()으로 2진수 문자열로 바꿔 출력한다.이때 [2:]하는 이유는 바로 출력하면 이진수 결과 앞에 0b가 함께 출력되므로 자르고 나머지 숫자부분만 출력하기 위함이다. 코드a, b = input().split()result = int(a, 2) + int(b, 2)print(bin(result)[2:]) [BOJ/백준] 33162 - 散歩 (Walking) (Python) 문제문제링크행동 A는 앞으로 3미터, 행동 B는 뒤로 2미터 이동한다.이 행동을 반복해 n번 실행할 때 총 몇 미터를 앞으로 이동했는가? 풀이n이 짝수라면 행동 A와 B가 한 세트로 동작하므로 n//2번 1씩 앞으로 이동한다.만약 홀수라면 n//2번 1씩 앞으로 이동하고 마지막 n번 이동 때 앞으로 3미터 이동한다.따라서 (x//2)에 if문을 활용해 홀수면 3을 더하고 아니면 그대로 두면 된다. 코드x=int(input())print((x//2)+(3 if x%2==1 else 0)) 이전 1 2 3 4 5 ··· 24 다음