조건문이란?
프로그램의 흐름을 제어하기 위해 측정 조건을 평가하여, 그 결과에 따라 실행할 코드를 결정하는 구문
조건문을 사용하면 조건의 참/거짓에 따라 서로 다른 작업을 수행할 수 있다.
비교 연산자와 논리 연산자에 대해서 알아보자.
조건문에는 'if else 문' 과 'switch 문' 이 있다.
먼저 if else 문에 대해서 알아보자.
만약 조건식이 여러개라면?
if - else if - (else) 로 쓰면된다. (else)를 쓰는 것은 자유이다.
간단한 조건문의 예를 들자면,
'값이 양수일 떄 100~90 : A, 89~80점: B 이고 나머지는 F이다.' 라고 했을 떄 조건문을 어떻게 쓸 수 있을까?
**if 안에서 조건을 연결해 줄때는 논리 연산자를 이용해야한다.
내가 요즘 주로 쓰는 C언어로 답을 적어보면,
#include <stdio.h>
int main(void) {
int score;
scanf("%d", &score);
if (90 <= score && score <= 100) {
printf("A");
}
else if (80 <= score && score < 90) {
printf("B");
}
else if (score<80) {
printf("F");
}
}
추가로 파이썬으로 나타내보면,
score = int(input("점수를 입력하시오: "))
if 90 <= score <= 100:
print("A")
elif 80 <= score < 90:
print("B")
elif score < 80:
print("F")
이제 switch 문을 알아보자.
이제 백준에서 대표적인 조건문 문제를 풀어보자.
백준 1330번
어떤 언어로 작성하던, A와 B를 세가지 경우로 나누어서 if else 조건문으로 작성해주면 된다.
C언어로 작성하면,
#include <stdio.h>
int main(){
int A, B;
scanf("%d %d", &A, &B);
if (A > B) {
printf(">");
}
else if (A < B) {
printf("<");
}
else if (A == B) {
printf("==");
}
}
파이썬으로 작성하면,
**파이썬은 if elif 로 써야하고 뒤에 항상 ' : ' 를 붙여줘야 한다.
import sys
input = sys.stdin.readline
A,B=map(int,input().split())
if A > B:
print(">")
elif A < B:
print("<")
else:
print("==")
백준 14681번
이것도 윗문제와 마찬가지로 어떤 언어로 작성하던, 각 사분면 별로 경우로 나누어서 if else 조건문으로 작성해주면 된다.
C언어로 작성하면,
**이떄 if 안에 조건은 '&&' 로 연결해줘야 한다.
#include <stdio.h>
int main(void)
{
int x, y;
scanf("%d\n%d", &x, &y);
if (x > 0 && y > 0) {
printf("1");
}
else if (x < 0 && y > 0) {
printf("2");
}
else if (x < 0 && y < 0) {
printf("3");
}
else if (x >0 && y < 0) {
printf("4");
}
}
파이썬으로 작성하면,
**이떄 if 안에 조건은 'and' 로 연결해줘야 한다.
import sys
input = sys.stdin.readline
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)
백준 9498번
여기서 코드를 간단하게 하기위해서 생각해보아야 할 것이 있다.
주어진 조건에서 ~점 이하일 경우는 생각하지 않아도 된다. 만약 성적이 83점이면 자동으로 80점 이상인 조건이 참이 되므로 B가 출력이 되고, 73점인 경우에는 자동으로 C가 출력이 되기 때문이다.
C언어로 풀면,
#include <stdio.h>
int main() {
int score;
scanf("%d",&score);
if (score >= 90) {
printf("A");
}
else if (score >= 80) {
printf("B");
}
else if (score >= 70) {
printf("C");
}
else if (score >= 60) {
printf("D");
}
else {
printf("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')
'동아리 > Early-알튜비튜' 카테고리의 다른 글
알튜비튜_06_1차원배열(1) (0) | 2024.11.11 |
---|---|
알튜비튜_05_반복문 (1) | 2024.11.10 |
알튜비튜_03_입출력(2) (2) | 2024.10.05 |
알튜비튜_03_입출력(1) (1) | 2024.10.04 |
알튜비튜_02_디버깅 툴 (0) | 2024.09.12 |