알고리즘 공부
[백준 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 번 문제처럼 아름답게 출력하는 문제입니다. 변수에 입력을 저장한다음 현재 테스트 케이스의 번호와 덧셈 식을 출력하면 됩니다.
[백준 11021번-파이썬/Python] A+B - 7
http://acmicpc.net/problem/11021 {코드} for i in range(1, int(input())+1): print(f'Case #{i}:',sum(map(int, input().split()))) {설명} 이 문제는 다른 A+B와 유사하지만 해당 덧셈이 몇 번째 덧셈인지 출력을 해 아름다운 출력을 하는 문제입니다. 코드는 다른 문제들과 거의 동일합니다.
[백준 2742번-파이썬/Python] 기찍 N
http://acmicpc.net/problem/2742 {코드} for i in range(int(input()), 0, -1): print(i) #--리스트 컴프리헨션 사용--# [print(i) for i in range(int(input()), 0, -1)] {설명} 이 문제는 백준 2741번 N 찍기 문제의 반대인 문제로 N부터 1까지의 수를 내림차순으로 한줄에 한개씩 출력하는 문제입니다. 여기서 range함수는 (시작값, 끝나는 값, 변화량)의 형태를 인자로 가지는데 시작값은 기본값 0을, 변화량은 기본값 1을 가지고 있습니다. 그렇기에 n에서 시작해 0까지 m(양수)씩 감소하는 range함수는 다음과 같습니다. range(n, -1, -m)
[백준 2741번-파이썬/Python] N 찍기
http://acmicpc.net/problem/2741 {코드} for i in range(1, int(input())+1): print(i) #--리스크 컴프리헨션 사용--# [print(i) for i in range(1, int(input())+1)] {설명} 이 문제는 백준 8393번 합 문제와 굉장히 유사한 문제로 1부터 N까지의 값을 각각 한줄에 한개씩 출력만 하면 되는 문제입니다.
[백준 15552번-파이썬/Python] 빠른 A+B
http://acmicpc.net/problem/15552 {코드} import sys.stdin.readline input = sys.stdin.readline for _ in range(int(input()): print(sum(map(int, input().split())) {설명} 이 문제의 설명을 보면 입출력이 느리면 시간 초과가 날 수 있다고 명시되어 있습니다. 그리고 파이썬으로는 기본 함수인 input보다는 sys 라이브러리의 sys.stdin.readline 함수를 사용하는 것을 추천한다고 되어있습니다. 그러면 왜 input 대신 저 긴 함수를 쓰라고 할까요? 당연하지만 저 긴 함수가 더 빠르게 처리하기 때문입니다. 간단히 설명하면 input에는 문자열 파라미터를 넣을 수 있는데 이 파라미..
[백준 8393번-파이썬/Python] 합
http://acmicpc.net/problem/8393 {코드} ans = 0 for i in range(1, int(input())+1): ans += i print(ans) #----# n = int(input()) print(n(n+1)//2) {설명} 1부터 n까지의 합을 구하는 문제이므로 1에서 n+1까지 반복하고 반복할 때마다 총합을 저장하는 변수에 더해주면 됩니다.(보는 게 빠름) 그와 별개로 시그마를 배우셨다면 1에서 N까지의 합은 n(n+1)/2으로 구할 수 있다는 것을 그대로 코드로 옯겨도 됩니다.
[백준 10950번-파이썬/Python] A+B -3
http://acmicpc.net/problem/10950 {코드} for _ in range(int(input())): print(sum(map(int, input().split()))) {설명} 입력받은 T만큼 반복하며 주어지는 두 값의 합을 계속해서 출력하면 된다. 반복문의 _ 은 파이썬에서 사용하지 않을 변수에 쓰는 더미(Dummy) 값으로 생각하면 된다. 또한 range함수에 T를 바로 넣은 것은 T를 추후 사용할 일이 없기 때문이다.
[백준 2739번-파이썬/Python] 구구단
http://acmicpc.net/problem/2739 {코드} n = int(input()) for i in range(1, 10): print(n, '*', i, '=', n*i) {설명} 이 문제는 반복문에 대해 알면 쉽게 풀 수 있는 문제입니다. 입력받은 n을 1~9까지 각각 곱한 결과를 한 줄씩 출력하면 됩니다.
[백준 2884번-파이썬/Python] 알람 시계 맞추기
http://acmicpc.net/problem/2884 {코드} h, m = map(int, input().split()) m -= 45 if m < 0: m += 60 if h == 0: h = 23 else: h -= 1 print(h, m) {설명} 이 문제는 주어진 알람 시각에서 45을 빼는 문제입니다. 간단하게 생각하면 분에서 45를 빼고 만약 분이 0보다 작다면 분에 60을 더하고 시각에서 1을 빼면 됩니다. 이때, 만약 시각이 0이라면 1을 뺀 값은 23이 되어야 한다는 것을 염두에 두어야 합니다.
[백준 14681번-파이썬/Python] 사분면 고르기
http://acmicpc.net/problem/14681 {코드} x = int(input()) y = int(input()) if x > 0: print(1 if y > 0 else 4) else: print(2 if y > 0 else 3) {설명} 간단한 수학 문제로 x와 y의 부호에 따라 아래 표에 맞게 해당하는 사분면을 출력하면 된다. 이와 별개로 x나 y가 0이라면 어떠한 사분면에도 속하지 않으나 조건에서 0인 경우는 없다고 명시되어 있으므로 무시한다. x y 사분면 양수 양수 1 양수 음수 4 음수 양수 2 음수 음수 3