본문 바로가기

코딩 테스트/Python_백준88

[백준/Python] 2439번 별 찍기 -2 ■ 백준 2439 별 찍기 -2 문제 ■ 코드 풀이 아이디어는 다음과 같습니다. 1) 줄의 개수 N을 입력 받습니다. 2) 줄의 개수 N개는 한 문장 내 글자 수와 동일합니다. 3) 첫 번째 줄에는 공백 4칸과 별 1개, 총 5개의 글자가 들어가야 합니다. 파이썬에서 str type 변수를 곱하면 곱한 수 만큼 반복됩니다. 따라서 공백은 반복 마다 N에서 별이 들어가야 할 글자 수 -(i+1) 만큼을 빼줍니다. 반대로 별은 반복 마다 i+1만큼 더해줍니다. (range(N)이면, i의 범위는 0부터 N-1이니까요.) N = int(input()) for i in range(N): print(' '*(N-1-i)+'*'*(i+1)) 2023. 3. 15.
[백준/Python] 15552번 빠른 A+B 문제 ■ 15552번 빠른 A+B 문제 ■ 코드 풀이 아이디어는 다음과 같습니다. 1) 파이썬에서 데이터 입력은 대부분 input()으로 알고 있지만, sys.stdin도 input()과 동일한 기능을 합니다. stdin은 standard input의 약자로, input() 대비 빠르고 메모리 효율적입니다. 따라서, 코딩 테스트에서는 input() 대신 stdin을 활용하여 소요되는 시간과 메모리를 절약할 수 있습니다. (실제로 대다수의 문제에서 input()을 사용하면 오답이지만, stdin()을 사용하면 정답인 경우가 많습니다.) 2) stdin을 활용하기 위해 sys 모듈을 import 해줍니다. 이후, input과 동일하게 T에 반복 횟수를 입력 받습니다. 3) 반복 횟수 T 동안 A,B에 두 정수를 .. 2023. 3. 15.
[백준/Python] 2480번 주사위 세개 문제 코드 아이디어는 다음과 같습니다. 1) 가장 쉬운 경우의 수인 주사위 눈이 셋 다 같은 경우를 입력합니다. 2) 두 가지 수가 같은 경우의 수를 입력하며, 코드 수를 줄이기 위해 공통 분모 인수로 print 합니다. 3) 마지막 남은 경우의 수를 작성합니다. a,b,c = map(int, input().split()) if a==b and b==c: print(10000+a*1000) elif (a!=b and b==c) or (a==b and b!=c): print(1000+b*100) elif a==c and b!=c: print(1000+a*100) else: print(max(a,b,c)*100) 2023. 3. 14.