Python 62

[BOJ][B2]캔디 구매- 2909

https://www.acmicpc.net/status?user_id=idleh&problem_id=2909&from_mine=1문제 전문은 링크 참조문제가공입력된 숫자 C를 입력된 숫자K의 자리수에서 반올림 하여 출력하자.주의할 점언뜻 보면 **round(C,-K)**로 간단하게 해결될 것 같지만, 파이썬의 round 함수는 round half even 방식으로 적용된다. ❕ Round half even? 반올림에 해당되는 수가 절반(5)인 경우, 앞자리 수가 짝수가 되도록 처리함. 위 내용을 참고하여 아래처럼 추가적인 규칙이 필요함.반올림 자리의 수가 5인 경우 Round half even을 피하기 위해 1을 더해 줌.1번 규칙을 위해 자리수를 파악할 때 C의자리수는 K보다 크거나 같아야함...

Python/백준 (BOJ) 2025.09.14

[BOJ][B2]5와 6의 차이 - 2864

https://www.acmicpc.net/problem/2864문제 전문은 링크 참조문제가공입력 받은 두 수를 5와 6을 교차해 최댓값과 최솟값을 출력하자.(최소는 6을 5로, 최대는 5를 6으로)코드작성arr = input().split()min = sum([int(i.replace('6','5')) for i in arr])#sum(map(lambda x: int(x.replace('6','5')),arr))max = sum([int(i.replace('5','6')) for i in arr])#sum(map(lambda x: int(x.replace('5','6')),arr))print(min,max)리뷰

Python/백준 (BOJ) 2025.09.12

[BOJ][B2]기숙사 바닥 - 2858

https://www.acmicpc.net/problem/2858문제 전문은 링크 참조문제가공입력된 빨간타일과 갈색타일의 개수로 방의 크기를 출력한다.단, 빨간타일이 갈색타일 테두리를 항상 감싸고 있다.코드작성방의 크기 L ,W 는 타일의 합의 약수다.갈색타일의 공간은 빨간타일의 테두리안에 있기 때문에, 아래와 같은 공식이 성립된다.위의 규칙을 활용하여약수 구하기약수 중에서 갈색타일 개수와 일치하는 약수 값 찾기를 구현한다.r_tile, b_tile = map(int,input().split())tiles = sum([r_tile,b_tile])for i in range(int(tiles**0.5),0,-1): if tiles % i == 0: L,W = tiles // i , i ..

Python/백준 (BOJ) 2025.09.11

[BOJ][B2]다트 - 2756

https://www.acmicpc.net/problem/2756문제 전문은 링크 참조문제가공x ,y 값으로 이루어진 숫자쌍을 6쌍 입렫 받는다.0,0에서 부터 x,y 까지의 거리를 구한다. ( 피타고라스의 정리 a^2 + b^2 = c^2 )거리에 포함되는 점수를 계산 후, 승자를 출력한다.코드작성def getDistance(x,y): return ((x**2 if x!= 0 else 0) + (y**2 if y != 0 else 0))**0.5def getScore(distance): if 0p2 : print('PLAYER 1 WINS.') else : print('PLAYER 2 WINS.')

Python/백준 (BOJ) 2025.09.08

[BOJ][B2]피보나치 수 - 2747

https://www.acmicpc.net/status?user_id=idleh&problem_id=2747&from_mine=1문제 전문은 링크 참조문제가공n번째에 해당하는 피보나치 수를 출력하자.코드작성아래와 같이 피보나치 함수를 그대로 적용하면 시간초과 발생 (O(2^n)def fibbo(n): if n ==0: return 0 elif n==1: return 1 else: return fibbo(n-1) + fibbo(n-2)print(fibbo(int(input())))아래처럼 최종 합을 이용해서 반복 처리 하는 구조로 변경한다.def fibbo2(n): a, b = 0, 1 for _ in range(n): a, b ..

Python/백준 (BOJ) 2025.09.06

[BOJ][B2]오타맨 고창영 - 2711

https://www.acmicpc.net/problem/2711문제 전문은 링크 참조문제가공최초 입력은 반복 케이스 회수숫자와 문자를 입력 받는다.입력받은 숫자에 위치해 있는 글자를 문자에서 삭제 후 출력한다.코드작성#print(f'{2324:05d}')for _ in range(int(input())): a,b = input().split() idx = int(a)-1 arr = list(b) del arr[idx] print(*arr, sep='')리뷰arr.remove(val) 함수는 배열의 값으로 삭제를 하기 때문에,del arr[idx]를 이용해 인덱스로 삭제하자.

Python/백준 (BOJ) 2025.09.05