Python/백준 알고리즘

이번 포스팅은 www.acmicpc.net/problem/10951에서 푼 것을 토대로 작성했습니다. While문의 두 번째 문제인 A+B -4입니다. 0,0을 입력하면 while문을 빠져나왔던 지난 문제와는 달리 입력을 계속해서 넣으면, 즉 에러가 없으면 프로그램이 계속 동작되게 만드는 문제입니다. import sys while True : try : a,b = map(int, sys.stdin.readline().split()) print(a+b) except : break 그래서 저는 try-except 구문을 사용하였습니다 프로그램 중에는 어떤 것을 입력해야 하는 경우 에러가 발생할 가능성이 있습니다. 구문 오류가 발생할 때 해결 가능한 코드가 try-except입니다. 위와 같은 경우는 int를..
이번 포스팅은 www.acmicpc.net/problem/10952에서 푼 것을 토대로 작성했습니다. While문의 첫 번째 문제인 A+B -5입니다. 문제와 입력을 보시면 띄어쓰기로 A, B를 입력받고 A+B를 출력 나오게 하는 문제이며 A, B에 0,0을 입력했을 때 프로그램이 종료되게 하게 만들어야 합니다. import sys while True: a,b = map(int,sys.stdin.readline().split()) if a == 0 and b == 0: break print(a+b) while문을 무한루프로 돌리기 위해 True를 조건으로 입력하고 a와 b를 띄어쓰기로 입력을 받았습니다. 그리고 if문으로 a와 b가 0일 때 break로 while 무한루프를 벗어나게 만들고 a+b를 출력..
이번 포스팅은 www.acmicpc.net/problem/10871에서 푼 것을 토대로 작성했습니다. for문의 열한 번째 문제인 X보다 작은 수입니다. 문제를 보시면 N개로 이루어진 수열 A가 주어지고 A에서 X보다 작은 수를 출력하게 만드는 문제입니다. 여러 방법으로 해보려고 했지만 잘 안되었고 list로 푸는 게 역시 제일 쉬웠네요 :( import sys n,x = map(int,sys.stdin.readline().split()) a = list(map(int,sys.stdin.readline().split())) for i in range(n): if a[i] < x : print(a[i], end = " ") 먼저 n, x를 map과 sys로 받고 a를 list로 받아 수열을 만들어줍니다 그..
이번 포스팅은 www.acmicpc.net/problem/11022에서 푼 것을 토대로 작성했습니다. for문의 열 번째 문제인 별 찍기 -2입니다. 이번 문제는 앞의 별 찍기 -1을 반대로 출력하는 문제입니다. 첫째 줄에 N이 주어지며 N번째 줄까지 *를 출력하는데 오른 쪽 정렬로 출력되게 만들어야 합니다. import sys n = int(sys.stdin.readline()) for i in range(n): print(' '*(n-(i+1))+'*'*(i+1)) 저는 그래서 N을 sys로 입력받은 뒤 n-(i+1)을 해서 공백을 출력하고 그다음 i+1으로 *을 출력하는 프로그램으로 만들었습니다. 똑같이 출력하는 방법에는 다른 방법도 많으니 찾아보시면 재밌을 것 같습니다 다음 포스팅으로 찾아오겠습니..
이번 포스팅은 www.acmicpc.net/problem/2438에서 푼 것을 토대로 작성했습니다. for문의 아홉 번째 문제인 별 찍기 -1입니다. 첫째줄에 N이 주어지고 예제 출력처럼 N번째 줄까지 * 가 출력 되게 만드는 프로그램입니다. import sys N = int(sys.stdin.readline()) for i in range(N): print('*'*(i+1)) 저는 계속해서 sys 모듈로 입력을 받고 있고 i가 0부터 시작해서 N-1번까지 실행되기 때문에 N번까지 실행시키기 위해 i+1을 곱하여 *을 출력하였습니다. 다음 포스팅으로 찾아오겠습니다 :)
이번 포스팅은 www.acmicpc.net/problem/11022에서 푼 것을 토대로 작성했습니다. for문의 여덟 번째 문제인 A+B -8입니다. 지난번 A+B -7에 연장으로 예제 출력에 더 많은 요구가 있는 것을 볼 수 있습니다. import sys t = int(sys.stdin.readline()) for i in range(t): a,b = map(int, sys.stdin.readline().split()) print("Case #%d:" %(i+1), a, '+', b, '=', a+b) t를 입력 받고 t번만큼 Case를 출력하게 만들어야 합니다. 이것도 역시 예제 출력처럼 나오게 하는 방법은 제가 쓴 방법 말고도 많으니까 찾아보시면 재밌을 것 같네요 다음 포스팅으로 찾아오겠습니다 :)
이번 포스팅은 www.acmicpc.net/problem/11021에서 푼 것을 토대로 작성했습니다. for문의 일곱 번째 문제인 A+B -7입니다. 문제를 보시면 테스트 케이스 T가 주어지며 T번만큼 Case #x: A+B 를 출력하는 문제입니다. 파이썬은 띄어쓰기로 구별하기 때문에 띄워쓰기 하나라도 출력과 다르면 틀렸다고 처리됩니다. import sys t = int(sys.stdin.readline()) for i in range(t): a,b = map(int, sys.stdin.readline().split()) print("Case #%d: %d" %(i+1, a+b)) 저는 일단 sys 모듈로 입력을 받았습니다. 테스트 케이스 t를 입력받고 a, b를 map으로 int형과 sys로 입력을 받..
이번 포스팅은 www.acmicpc.net/problem/2742에서 푼 것을 토대로 작성했습니다.for문의 여섯 번째 문제인 기찍 N입니다. 기찍 N.. 문제 이름에서부터 전 문제에 반대로 N부터 1까지 출력이 나오게 하는것입니다. import sys n = int(sys.stdin.readline()) for i in range(n): print(n-i) sys로 입력받았으며 n부터 1까지이기 때문에print(n-i)로 N-0부터 N-1까지 된 것을 볼 수 있습니다. 다음 포스팅으로 찾아오겠습니다 :)
우준세
'Python/백준 알고리즘' 카테고리의 글 목록 (4 Page)