본문 바로가기

Algorithm/BOJ

[기초] 02. If문

 

📪 [If문]

 

if문 단계

점이 어느 사분면에 있는지 알아내는 문제

www.acmicpc.net

 


 

 

📌 문제1. 두 수 비교하기 [1330번]

a, b = map(int, input().split())
c = ""
if a > b:
    c = ">"
elif a < b :
    c = "<"
else : c = "=="
print(c)

 

 ※ 다른 풀이 보기 

더보기

 ✔ print문 + 조건문(If) 사용

 

[풀이 1]

# if-else
print(참 if 조건 else 거짓)

# elif
print(참 if 조건 else(참 if 조건 else 거짓))

[풀이 2]

a, b = map(int, input().split())
print('>' if a > b else ('<' if a < b else '=='))

 

 

 

📌 문제2. 시험성적 [9498번]

score = int(input())
print("A" if (90 <= score <= 100) else ("B" if (80 <= score <= 90) else ("C" if (70 <= score <= 80) else ("D" if (60 <= score <= 70) else "F")  )))

 

 

 

 

📌 문제3. 윤년 [2753번]

year = int(input())
print("1" if (year % 400 == 0) else ("0" if (year % 100 == 0) else ("1" if (year % 4 == 0) else "0")))

 

 ※ 다른 풀이 보기 

더보기
a = int(input())
if a % 4 == 0 and a % 100 != 0 or a % 400 == 0:
    print(1)
else:
    print(0)

 

 

 

📌 문제4. 사분면 고르기 [14681번]

a = int(input())
b = int(input())
if a > 0:
    print(1 if b > 0 else 4)
elif a < 0:
    print(2 if b > 0 else 3)

 

 

 

 

📌 문제5. 알람 시계 [2884번]

h, m = map(int, input().split())

if m < 45:
    if h == 0:
        h = 23
    else:
        h -= 1
    m = m + 15
else:
    m -= 45

print(h, m, sep=" ")

 

 ※ 다른 풀이 보기 

더보기

 ✔ 파이썬에서의 음수 연산

  1. 나머지 연산 (%)
    : 음수 % X → X - 음수
  2. 나누기 연산 (/)
    : 음수 / X → -(  .  )
  3. 정수 나누기 연산 (//)
    : 음수 // X
    -> Ex. 45//60 = 0, -45//60 = -1

H, M = map(int, input().split())

H = (H + (M - 45) // 60) % 24
M = (M - 45) % 60
print(H, M)

 → (M-45)//60이 0또는 -1이 되고, (M-45)%60이 위처럼 계산되기 때문.

 

 

 

📌 문제6. 오븐 시계 [2525번]

import math

now_hour, now_min = map(int, input().split())
cook_min = int(input())

min_sum = now_min + cook_min
min_check = min_sum / 60
hour_check = math.floor(min_check) + now_hour   # 소수점 떼주어야 함. 즉, math.floor() or int처리.

if min_check < 1:
    print(f"{now_hour} {min_sum}")
elif hour_check < 24:
    print(f"{hour_check} {min_sum % 60}")
else:
    print(f"{hour_check % 24} {min_sum % 60}")

 

 ※ 다른 풀이 보기 

더보기
h, m = map(int, input().split())
t = h * 60 + m + int(input())
print(t // 60 % 24, t % 60)

 

 

 

📌 문제7. 주사위 세개 [2480번]

die_list = list(map(int, input().split()))
most_count_die_num = max(die_list, key=die_list.count)  # 제일 많은 카운트의 '수'
most_count_num = die_list.count(most_count_die_num)  # 위의 '수'의 갯수

if most_count_num == 1:
    result = max(die_list) * 100
elif most_count_num == 2:
    result = 1000 + most_count_die_num * 100
else:
    result = 10000 + most_count_die_num * 1000
print(result)

 

 

 


 

🔔 중요개념정리

  1. 'print 문+조건문(If)' 사용
  2. 음수와  %, //, /..
  3. if-elif-else

 

 

 

 

 

728x90

'Algorithm > BOJ' 카테고리의 다른 글

[기초] 06. 함수  (0) 2022.02.21
[기초] 05. 1차원 배열  (0) 2022.02.07
[기초] 04. while문  (0) 2022.02.07
[기초] 03. for문  (0) 2022.02.07
[기초] 01. 입출력과 사칙연산  (0) 2022.02.04