못 푼 문제 🥲


문제 번호 문제 이름 이유
21275 폰 호석만 어떤 방식으로 풀지 고민이 필요
22943 입력 K를 받아 어떤 식으로 수를 만들지 고민 중

1주차 인상 깊었던 문제


1. 2609 - 최대 공약수와 최소 공배수

문제 자체는 어렵지 않다.

하지만 최대 공약수와 최소 공배수를 기반으로 풀어야 하는 문제가 많았기에 선정했다.

눈 감고도 작성이 가능해야 한다.

보통 재귀함수를 사용하는 데 혹시 모르니 재귀함수가 아닌 방식도 한번씩 구현해보면 좋을 것 같다.

import Foundation

func gcd(_ a:Int, _ b:Int) -> Int {
    if(b == 0) {
        return a
    } else {
        return gcd(b, a%b)
    }
}

func lcm(_ a:Int, _ b:Int) -> Int {
    return a * b / gcd(a,b)
}

let input = readLine()!.components(separatedBy: " ").map { Int($0)! }

print(gcd(input[0], input[1]))
print(lcm(input[0], input[1]))

2. 22864 - 피로도

그리디 알고리즘의 기본적인 문제

그리디 알고리즘은 가장 기본 알고리즘이자 코딩테스트에 자주 등장하는 단골 문제이다.

문제를 잘 파악하는 것이 중요하다.