BOJ(기분전환코딩)

  1. 고양이 문제

https://www.acmicpc.net/problem/10171

10171번: 고양이

  • 이런 문제는 제출할 때, 언어로 Text를 고르자 \ /\ ) ( ‘) ( / ) (__)| ​
  1. 두 수 비교하기 https://www.acmicpc.net/problem/1330
 a, b = map(int, input().split())
print(">" if a > b else ("<" if b > a else "=="))
# 다항 연산자를 한 줄에 쓸 때, elif는 못 쓴다. 위와 같은 방법이 최선이다.
  1. 알람 시계

https://www.acmicpc.net/problem/2884

H, M = map(int, input().split())
M = H * 60 + M
if M < 45:  # 더한 값이 45보다 작으면 (0:00 ~0:44였다면)
    print("%d %d" % (23, 60-(45-M)))  # 23:15:~ 23: 59
else:
    M = M - 45
    print("%d %d" % (M//60, M % 60))
 -  문제 숏코딩을 한번 확인해보자

a,b=map(int,input().split())
print((a-(b<45))%24,(b-45)%60)

# b<45는 True다. 그리고 이는 정수로 1이다. 따라서
# (a-(b<45))는 b가 45보다 작을 때, a-1과 동일하며
# % 24를 통해 0에서 23으로 돌아가는 처리를 해줬다.

# 뒷부분은 뭐지 ? 음수에 % 연산자를 적용하면 ?
# 9 % -2는 ? 9 = (-5)*(-2) + (-1)이 되어 9 % -2 는 -1이 되고 9//-2는 -5가 된다
# -9 % 2 는 -9 = (-5)*2 + 1이 되어 -9%2 = 1 되고, -9//2 = -5가 된다
# 그래서 (b-45)% 60은 b가 30이라고 가정하면, -15%60이 되며, 이는 -15 = -1 * 60 + 45가 된다.
# 나머지는 45다.
  1. 곱셈
 // 값이  자리 자연수로 고정되어 있으니까 그냥 값을 넣어볼까?
N, M = input(), input()
// 472 * 5부터 해보자.
print(int(N[0]) * 100 * int(M[2])) // 2000
print(int(N[1])*10 * int(M[2])) // 350
print(int(N[2])*1 * int(M[2])) // 10

//이를 반복문으로 고치면
for i in range(3):
    print(int(N[i])*(10**(2-i)) * int(M[2]))

//다음은 ?  M 1 감소, 각각 10 증가!
print(int(N[0]) * 1000 * int(M[1]))
print(int(N[1])*100 * int(M[1]))
print(int(N[2])*10 * int(M[1]))

// 전체 이중 포문으로 돌려보자
N,M = input(), input()
result = 0
for j in range(2, -1, -1):
    temp = 0
    for i in range(3):
        temp += int(N[i])*(10**(2-i)) * int(M[j])
    print(temp)
    result += temp*(10**(2-j))
print(result)
  1. 윤년
  • 문제에서 하라는 대로 하면 된다.

  • 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때라고 한다.

N = int(input())
print(1 if (N % 4 == 0 and N % 100 != 0) or N % 400 == 0 else 0)
  1. 최대 최소
int(input())
arr = list(map(int, input().split()))
print(min(arr), max(arr))
  1. 최댓값
arr = []
MAX = 0
IDX = 0
for i in range(1, 10):
num = int(input())
if num > MAX:
MAX = num
IDX = i
print(MAX)
print(IDX)

# 리스트에 다 담아서 max,랑 index로 구할 수도 있다.
  1. 팩토리얼
N = int(input())
total = 1
while(N):
total \*= N
N -= 1
print(total)
  1. 2xn 타일링
n = int(input())
a, b = 1, 2
for i in range(2, n+1):
a, b = b % 10007, a+b % 10007
print(a)

참고자료

0%