코딩라이브러리/Dart

[Dart] if, swich 조건문 (with 백준 1330)

유니네 라이브러리 2024. 6. 18. 14:05

1. if 문 사용법

 

Dart에서 if 문은 특정 조건을 확인하고, 조건에 맞는 코드를 실행하는데 사용된다.

기본 구조는 다음과 같다.

if (조건문) {
  // 실행할 코드
} else if (조건문) {
  // 실행할 코드
} else {
  // 실행할 코드
}

 

📌 예제 코드 (if문 다중 처리)

import 'dart:io';

void main() {
  // 입력값 받기
  String? inp = stdin.readLineSync();
  int x = int.parse(inp!);

  if (x < 0) {
    x = 0;
    print('입력된 음수는 0으로 변경되었습니다.');
  } else if (x == 0) {
    print('0 입니다.');
  } else if (x == 1) {
    print('1 입니다');
  } else if (x > 1 && x <= 10) {
    print('1보다 크고 10보다 작거나 같습니다.');
  } else if (x == 11 || x == 12) {
    print('11이거나 12 입니다.');
  } else {
    print('12보다 큽니다');
  }
}

 

2. if case 문 사용하기

 

Dart 3.0부터 if case 문법을 사용할 수 있다.

if case 문은 패턴 매칭을 활용하여 특정 조건을 검사할 때 사용된다.

if (변수 case 조건문) {
  // 실행할 코드
} else {
  // 실행할 코드
}

⚠️ 주의:

case 문의 변수는 상수(변하지 않는 값) 이어야 한다.

 

📌 예제 코드 (if case 사용)

import 'dart:io';

void main() {
  // 입력값 받기
  String? inp = stdin.readLineSync();
  int x = int.parse(inp!);
  const int y = 20;

  // case 문에서 비교할 값은 상수여야 한다.
  if (x case (< y)) {
    rtnSmall(y);
  } else if (x case (>= y)) {
    rtnBig(y);
  }
}

// 작은 값일 때 실행
void rtnSmall(int n) {
  print("입력하신 값은 $n 보다 작습니다.");
}

// 큰 값일 때 실행
void rtnBig(int n) {
  print("입력하신 값은 $n 보다 같거나 큽니다.");
}

 

3. switch 문 사용하기

 

switch 문은 여러 개의 조건을 비교할 때 사용된다.

Dart의 switch 문은 case 문을 활용하며, 변수는 반드시 상수여야 한다.

switch (변수) {
  case (조건문):
    // 실행할 코드
  case (조건문):
    // 실행할 코드
  default:
    // 실행할 코드
}

⚠️ 주의:

case 문의 변수는 변하지 않는 값(상수) 이어야 한다.

 

📌 예제 코드 (switch문 사용)

import 'dart:io';

void main() {
  // 입력값 받기
  String? inp = stdin.readLineSync();
  int x = int.parse(inp!);

  switch (x) {
    case (< 0):
      print('입력된 음수는 0으로 변경되었습니다.');
    case (== 0):
      print('0 입니다.');
    case (== 1):
      print('1 입니다');
    case (> 1 && <= 10):
      print('1보다 크고 10보다 작거나 같습니다.');
    case (== 11 || == 12):
      print('11이거나 12 입니다.');
    default:
      print('12보다 큽니다');
  }
}

 

4. 백준 1330번 - 두 수 비교하기 (if문 연습)

 

 백준 문제 링크: 백준 1330번 - 두 수 비교하기

 

문제 설명:

두 정수 AB를 비교하여 다음과 같은 결과를 출력하는 프로그램을 작성하세요.

조건 출력
A > B >
A < B <
A == B ==

 

📌 예제 코드 (백준 1330번 - 두 수 비교하기)

import 'dart:io';

void main() {
  /*
  https://www.acmicpc.net/problem/1330
  두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오.
  */

  // 입력값 받기
  List<String> x = stdin.readLineSync()!.split(" ");
  int A = int.parse(x[0]);
  int B = int.parse(x[1]);

  // if 조건문을 활용한 비교
  if (A > B) {
    print(">");
  } else if (A < B) {
    print("<");
  } else {
    print("==");
  }
}

 

5. 예제 테스트

 

✔ 입력 예시 1

10 9

 

✔ 출력 예시 1

>

 

✔ 입력 예시 2

5 5

 

✔ 출력 예시 2

==

 

6. 정리

 

Dart의 조건문 정리:

문법 설명
if - else 기본적인 조건문
if case Dart 3.0 부터 사용가능, 패턴 매칭 활용
switch - case 여러 조건을 비교할 때 사용

💡 백준 1330번 문제를 활용하여 if 문을 연습했다

 

☞ Dart 자습서 참고 사이트

 

Branches

Learn how to use branches to control the flow of your Dart code.

dart-ko.dev