문제 1.

두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오.

 

첫째 줄에 다음 세 가지 중 하나를 출력한다.

  • A가 B보다 큰 경우에는 '>'를 출력한다.
  • A가 B보다 작은 경우에는 '<'를 출력한다.
  • A와 B가 같은 경우에는 '=='를 출력한다.
A,B = map(int,input().split()) 

if A > B:
	print('>') 
elif A < B:
	print('<') 
else:
	print('==')

 

 

문제 2.

시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오.

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')

문제 3.

연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오.

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

예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다. 1900년은 100의 배수이고 400의 배수는 아니기 때문에 윤년이 아니다. 하지만, 2000년은 400의 배수이기 때문에 윤년이다.

year = int(input())

if ((year%4 == 0)and(year%100 != 0)) or (year%400 == 0):
    print('1')
else:
    print('0')

 

- 핵심 : 주어진 문제대로 연도를 4로 나눌 때 0이 되는 4의 배수이고 연도를 100으로 나눠서 나머지가 0이 아닌 100의 배수가 아닌 경우가 윤년이다. 또는 400의 배수이면 윤년이다. 이 경우에는 1을 출력하고 나머지의 경우에는 0을 출력한다.

문제 4.

흔한 수학 문제 중 하나는 주어진 점이 어느 사분면에 속하는지 알아내는 것이다. 사분면은 아래 그림처럼 1부터 4까지 번호를 갖는다. "Quadrant n"은 "제n사분면"이라는 뜻이다.

예를 들어, 좌표가 (12, 5)인 점 A는 x좌표와 y좌표가 모두 양수이므로 제1사분면에 속한다. 점 B는 x좌표가 음수이고 y좌표가 양수이므로 제2사분면에 속한다.

점의 좌표를 입력받아 그 점이 어느 사분면에 속하는지 알아내는 프로그램을 작성하시오. 단, x좌표와 y좌표는 모두 양수나 음수라고 가정한다.

x = int(input())
y = int(input())

if x > 0 and y > 0: 
    print("1")
elif x < 0 and y > 0:
    print("2")
elif x < 0 and y < 0:
    print("3")
else:
    print("4")

- 핵심 : 좌표에 x,y가 양수이면 1을 출력, x가 음수이고 y가 양수이면 2를 출력, x가 음수이고 y가 음수이면 3을 출력, x가 양수이고 y가 음수이면 4를 출력.

문제 5.

상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다.

상근이는 모든 방법을 동원해보았지만, 조금만 더 자려는 마음은 그 어떤 것도 없앨 수가 없었다.

이런 상근이를 불쌍하게 보던, 창영이는 자신이 사용하는 방법을 추천해 주었다.

바로 "45분 일찍 알람 설정하기"이다.

이 방법은 단순하다. 원래 설정되어 있는 알람을 45분 앞서는 시간으로 바꾸는 것이다. 어차피 알람 소리를 들으면, 알람을 끄고 조금 더 잘 것이기 때문이다. 이 방법을 사용하면, 매일 아침 더 잤다는 기분을 느낄 수 있고, 학교도 지각하지 않게 된다.

현재 상근이가 설정한 알람 시각이 주어졌을 때, 창영이의 방법을 사용한다면, 이를 언제로 고쳐야 하는지 구하는 프로그램을 작성하시오.

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

if M < 45:
    if H == 0:
        H = 23
        M += 60
    else:
        H -= 1
        M += 60
        
print(H, M-45)

- 핵심 : 이 문제는 처음에 이해하기 어려웠다. 시계가 45분 일찍 돌아가는 것을 가정해야한다. 보통의 상황에서는 H(시간)에 -1을 하고 M(분)에 60을 더해준다면 해결이 된다. 하지만 시간이 0시(자정)일 경우에는 H(시간)에 -1을 하게 되면, -1시가 되기 때문에 문제가 발생한다. 이 경우에는 H를 23으로 고정하고, M(분)은 똑같이 60을 더해준다.

 

- 마무리하며 : if문은 가장 기초적이면서도 가장 많이 사용되는 함수라고 생각한다. "만약에 (if)" 만약에 우리가 대통령이 된다면? 만약에 우리가 우주를 간다면? 만약에 라는 단어는 엄청난 힘이 있다. 우리가 상상 할 수 없는 프로그래밍의 드넓은 세계를 만든 장 본인이 "만약에(if)"라는 가정에서 엄청난 디지털 세상이 탄생했다고 해도 무방할 것이다. 

+ Recent posts