전체 글

전체 글

    [백준 10818번-파이썬/Python] 최소, 최대

    http://acmicpc.net/problem/10818 {코드} input() data = list(map(int, input().split())) print(min(data), max(data)) {설명} 이 문제는 n개 만큼의 수를 입력받아 배열에 저장해 이 배열의 최솟값괴 최댓값을 출력하는 문제입니다. 파이썬에는 기본적으로 내장되어있는 min, max 함수가 있는데 이를 통해 굉장히 쉽게 문제를 풀 수 있습니다. 참고로 입력 첫줄의 n은 파이썬의 input은 줄단위로 입력받기 때문에 이번 문제에는 아무 쓰임이 없어 따로 저장하지 않습니다.

    [백준 1110번-파이썬/Python] 더하기 싸이클

    http://acmicpc.net/problem/1110 {코드} n = k = int(input()) count = 0 while True: k = (k%10) * 10 + (k//10 + k%10) % 10 count += 1 if k == n: print(count) break {설명} 이 문제의 규칙은 다음과 같습니다. 이전 숫자를 n이라 둘때, 다음 숫자는 n의 일의 자리 수에 10을 곱하고 n의 각 자리의 합의 일의 자리 수를 더한다 이렇게 만들어진 숫자가 처음에 입력받은 수와 같다면 위의 연산을 한 횟수를 출력하면 됩니다.

    [백준 10951번-파이썬/Python] A+B - 4

    http://acmicpc.net/problem/10951 {코드} while True: try: a, b = map(int, input().split()) print(a+b) except EOFError: break {설명} 이 문제의 요점은 테스트 케이스의 수를 모른다는 것이다. 즉, EOF에 대해 알아야 합니다. EOF란 End of File의 약자로 간단하게 말하면 입력 파일의 마지막 줄까지 읽고 더 이상 읽을 것이 없다는 것입니다. 이렇게 EOF가 되면 입력에서 에러가 나기 때문에 프로그램의 정상적인 작동을 위해 에러 핸들링을 합니다. 파이썬의 try/except/finally를 알면 while문과 함께 사용하여 쉽게 풀 수 있는 문제가 되겠습니다. *다른 분들의 코드를 보면 except 뒤에 ..

    [백준 10952번-파이썬/Python] A+B - 5

    http://acmicpc.net/problem/10952 {코드} while True: a, b = map(int, input().split()) if a == b == 0: break print(a+b) {설명} 이 문제는 while문을 이용한 문제로 입력의 두 숫자가 0, 0이 아닐 때까지 두 숫자의 합을 출력하는 문제입니다. while문과 for문의 차이를 간단히 설명하면 for문은 반복 횟수를 알때, while문은 어떤 조건에 부합할 때까지 반복할 때 사용합니다.

    [백준 10871번-파이썬/Python] X보다 작은 수

    http://acmicpc.net/problem/10871 {코드} _, x = map(int, input().split()) for data in map(int, input().split()): if data < x: print(data, end=' ') {설명} 반복문과 조건문을 같이 사용하는 문제로 쉽게 풀 수 있는 문제이다. 한 가지 알아둘 것은 map함수는 iterable로 반복문에서 한 값씩 가져오는 것이 가능하다는 것이다. *print문은 기본적으로 \n을 실행하지만 end=을 통해 마지막에 붙일 문자열을 지정할 수 있다.

    [백준 2439번-파이썬/Python] 별 찍기 - 2

    http://acmicpc.net/problem/2439 {코드} n = int(input()) for i in range(1, n+1): print(' '*(n-i) + '*'*i) {설명} 이 문제도 지난 글과 같이 반복문의 전형적인 문제인 별 출력 문제입니다. 타 언어라면 이중 반복문을 사용해야 할 문제지만 파이썬의 * 연산자로 쉽게 풀 수 있습니다. 이 문제는 n번 줄에 n개의 별(*)을 출력하는 문제인데, 각 줄에 별을 출력하기 전에 공백이 있다는 걸 알 수 있습니다. 공백의 규칙은 매우 간단한데요, 바로 (총 줄의 수 - 현재 줄이 번호) 입니다. 예를 들어 총 줄의 수가 5라면 첫째줄에는 공백 4개와 별 1개, 둘째줄에는 공백 3개와 별 2개가 되는 것입니다. 다른 규칙으로는 한 줄에 공백의..

    [백준 2438번-파이썬/Python] 별 찍기 - 1

    http://acmicpc.net/problem/2438 {코드} for i in range(1, int(input())+1): print('*'*i) #----# [print('*'*i) for i in range(1, int(input())+1)] {설명} 별 찍기는 반복문을 공부할 때 가장 기본적인 문제로 피라미드, 다이아몬드, 삼각형 등 여러 유형이 있습니다. 이 문제는 그 중 가장 쉬운 삼각형 문제로 n번 줄에 n개의 별(*)을 출력하는 문제입니다. 다른 언어라면 이중 반복문을 사용할 문제지만 파이썬은 * 연산자를 사용하면 쉽게 풀 수 있습니다.

    [백준 11022번-파이썬/Python] A+B - 8

    http://acmicpc.net/problem/11022 {코드} for i in range(1, int(input())+1): a, b = map(int, input().split()) print(f'Case #{i}: {a} + {b} = {a+b}') {설명} 이 문제도 전의 A+B -7 번 문제처럼 아름답게 출력하는 문제입니다. 변수에 입력을 저장한다음 현재 테스트 케이스의 번호와 덧셈 식을 출력하면 됩니다.