알고리즘

백준 - if문

joy_lee 2021. 7. 16. 20:08

if

조건이 참일 때 실행할 문장들을 정의한다.

 

if 조건:

      참일 경우 실행할 문장 1

      참일 경우 실행할 문장 2

      참일 경우 실행할 문장 3

 

복잡한 조건으로 if문을 만들 수 있다.

if 조건1:

      조건1이 참일 경우 실행할 문장 1

      조건1이 참일 경우 실행할 문장 2

      조건1이 참일 경우 실행할 문장 3

elif 조건2:

      조건2가 참일 경우 실행할 문장 1

      조건2가 참일 경우 실행할 문장 2

      조건2가 참일 경우 실행할 문장 3

elif 조건3:

elif 조건4:

...(원하는 만큼 생성 가능)

else:

      위의 조건들을 모두 만족하지 않을 경우 실행할 문장 1

      위의 조건들을 모두 만족하지 않을 경우 실행할 문장 2

      위의 조건들을 모두 만족하지 않을 경우 실행할 문장 3

 

elif와 else는 모두 생략 가능하다.

조건과 실행할 문장은 들여쓰기로 구분한다.

 

백준 2753번 문제

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

 

2753번: 윤년

연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서

www.acmicpc.net

입력받은 년도의 윤년 여부를 확인해야 한다.

윤년의 조건을 보고 4의 배수인지, 100의 배수인지, 400의 배수인지 확인해야 한다.

1
2
3
4
5
6
7
8
9
10
year = int(input())
if year % 4 == 0:
    if year % 100 != 0:
        print('1')
    elif year % 400 == 0:
        print('1')
    else:
        print('0')
else:
    print('0')
cs

위의 순서에 맞게 if문을 만들어보았다.

 

python의 if문에서 참은

숫자형: 0은 거짓 / 나머지는 참

문자열: 빈 문자열만 거짓 / 나머지는 참

컬렉션: (), [], {}만 거짓

None: 거짓(변수에 들어있는 값이나 함수의 결과가 None인 경우 있음)

Boolean: True는 참 / False는 거짓

 

삼항연산자

참인경우값 if 조건문 else 거짓인경우값

한 가지 조건만 따져서 true/false일 경우에 따라 단순한 문장을 실행한다면 삼항연산자가 더 간단하고 편하다.

 

14681번 문제 https://www.acmicpc.net/problem/14681

 

14681번: 사분면 고르기

점 (x, y)의 사분면 번호(1, 2, 3, 4 중 하나)를 출력한다.

www.acmicpc.net

내가 작성한 코드

1
2
3
4
5
6
= int(input())
= int(input())
if x > 0:
    print('1'if y > 0 else print('4')
else:
    print('2'if y > 0 else print('3')
cs

x와 y를 입력받아서 우선 x가 양수인지, 음수인지 확인한 후 y > 0을 확인하는 삼항연산자를 사용해 코드를 작성했다.

'알고리즘' 카테고리의 다른 글

백준 - 함수  (0) 2021.07.27
백준 - 1차원 배열  (0) 2021.07.26
백준 - while문  (0) 2021.07.20
백준 - for문  (0) 2021.07.20
백준 - 입출력과 사칙연산  (0) 2021.07.15