백준

    [백준 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

    [백준 2753번-파이썬/Python] 윤년

    http://acmicpc.net/problem/2753 {코드} year = int(input()) if year % 4 == 0 and year % 100 != 0 or year % 400 == 0: print(1) else: print(0) # 조건연산자를 사용한 코드 print(1 if year % 4 == 0 and year % 100 != 0 or year % 400 == 0 else 0) {설명} 이 문제는 전형적인 if문 문제로 조건문 한 줄로 풀 수 있는 문제입니다. 결국 4의 배수일때 100의 배수가 아니거나 400의 배수면 윤년이 되는 것을 잘 파악하면 됩니다. (문제에 적혀있는 거랑 다르지 않습ㄴ..)

    [백준 9498번-파이썬/Python] 시험 성적

    http://acmicpc.net/problem/9498 {코드} score = int(input()) if score >= 90: print('A') elif score >= 80: print('B') elif score >= 70: print('C') elif score >= 60: print('D') else: print('F') {설명} 지난 글에선 조건 연산자(삼항 연산자)를 통해 두 수를 비교하는 문제를 풀었습니다. 이번에도 똑같이 조건연산자를 사용할 수는 있으나 확인해야 하는 조건이 많아서 코드 줄이 길어지거 가독성이 떨어집니다. 그래서 이번에는 일반적인 조건문을 통해 풀어보았습니다.

    [백준 1330번-파이썬/Python] 두 수 비교하기

    http://acmicpc.net/problem/1330 {코드} a, b = map(int, input().split()) print('>' if a > b else '

    [백준 2588번-파이썬/Python] 곱셈

    http://acmicpc.net/problem/2588 {코드} A = int(input()) B = input() for digit in B[::-1]: # reversed(B)도 가능 print(A*int(digit)) print(A*int(B)) {설명} 입력의 첫 번째 수를 A, 두 번째 수를 B라고 가정하면 출력은 A*(B의 각 자릿수) 에다가 A*B를 출력하면 된다. 그러면 A를 정수로 입력받고 B를 문자열로 받으면 B를 반복문에 넣어 int함수를 통해 곱하면 됩니다. 이때 일의 자리 숫자부터 곱한 결과를 출력해야 하므로 B를 반전시켜 반복해야 합니다.

    [백준 10430번-파이썬/Python] 나머지

    http://acmicpc.net/problem/10430 {코드} a, b, c = map(int, input().split()) print((a+b)%c) print(((a+c)+(b+c))%c) print((a*b)%c) print(((a%c)*(b%c))%c) {설명} 이 문제는 출력 조건에 있는 것처럼 3개의 정수로 만들어진 4가지의 값을 출력하기만 하면 되는 문제입니다. 입력은 한줄에 주어지므로 map을 통해 정수로 입력받으면 됩니다.

    [백준 10869번-파이썬/Python] 사칙연산

    http://acmicpc.net/problem/10869 {코드} a, b = map(int, input().split()) print(a+b) print(a-b) print(a*b) print(a//b) print(a%b) {설명} 이 문제는 지난 4개의 글을 한문제로 합친 것과 같습니다. 결국 map함수를 통해 정수 두개를 입력받고 문제가 요구하는 각 연산을 실행하면 되는 문제입니다.. 이때, /, 즉 나눗셈은 목 연산이므로 //를 써야하고 나머지 연산을 위해 %를 사용하면 각 연산당 한줄씩 출력하면 됩니다. {코드} numbers = input().split() operators = ['+', '-', '*', '//', '%'] for operator in operators: print(eval..