Post

[Programmers] #120829 - 각도기 [Java][C++][Python]

각도 값을 예각/직각/둔각/평각으로 분류하는 워밍업 문제.

[Programmers] #120829 - 각도기 [Java][C++][Python]

문제 링크


1. 아이디어

angle 값을 크기 순서대로 비교해 0도 초과 90도 미만이면 예각(1), 90도면 직각(2), 90도 초과 180도 미만이면 둔각(3), 180도면 평각(4)을 반환하면 되는 문제다. 조건을 작은 값부터 순서대로 검사하면 마지막에 남는 경우가 자연스럽게 평각(180도)이 되므로 별도 분기 없이 처리할 수 있다.


2. 복잡도

접근시간공간
풀이$O(1)$$O(1)$

3. 코드

풀이 [Java][C++][Python]

1
2
3
4
5
6
7
8
class Solution {
    public int solution(int angle) {
        if (angle < 90) return 1;
        if (angle == 90) return 2;
        if (angle < 180) return 3;
        return 4;
    }
}
1
2
3
4
5
6
7
8
9
#include <bits/stdc++.h>
using namespace std;

int solution(int angle) {
    if (angle < 90) return 1;
    if (angle == 90) return 2;
    if (angle < 180) return 3;
    return 4;
}
1
2
3
4
5
6
7
8
def solution(angle):
    if angle < 90:
        return 1
    if angle == 90:
        return 2
    if angle < 180:
        return 3
    return 4

This post is licensed under CC BY 4.0 by the author.