본문 바로가기

백준

17362 수학은 체육과목 입니다 2

전에도 체육과목인줄 알았지

수학이었다

 

규칙 찾는다고 막 하다가 어찌저찌 찾았다

 

열심히 짰는데 틀렸다

 

필기를 보면 알겠지만 중지를 두 번 적었다. 그리고 5번에 새끼인데 약지를 적어놨다.

그래서 코드에도 똑같이 잘못 적어서 틀렸다.

이래서 설계를 잘해야 하나보다

 

#include <iostream>

int main() {
    int n;
    scanf("%d", &n);
    switch(n % 8){
        case 1:
            printf("1");
            break;
        case 2: case 0:
            printf("2");
            break;
        case 3: case 7:
            printf("3");
            break;
        case 4: case 6:
            printf("4");
            break;
        case 5:
            printf("5");
            break;
    }
}

 

조금 더 잘 짤 수 있을거란 느낌은 오는데 잘 모르겠다. 

바로 생각 나는건 1이면 1이고 2면 2니깐 이걸 사용하면 되지 않을까 싶은데, 그러면 0, 7, 6일때 또 조건문을 달아야 한다. 그럴바에 그냥 switch로 출력하자 싶어 이렇게 출력했다. 

 


#include <iostream>

int finger[] = {2, 1, 2, 3, 4, 5, 4, 3};

int main() {
    int n;
    scanf("%d", &n);
    
    printf("%d", finger[n % 8]);
    return 0;
}

악! 더 좋은 방법을 알았다!

깔끔하다! 보기도 편하다!

 

구구절절이 case로 나눴는데 그냥 배열을 쓰면 되는구나!

배열 인덱스를 잘 쓰도록 하자

 

'백준' 카테고리의 다른 글

15727 조별과제를 하려는데 조장이 사라겼다  (0) 2019.10.03
15873 공백 없는 A+B  (0) 2019.10.03
5575 타임카드  (0) 2019.10.02
10768 특별한 날  (0) 2019.10.02
16673 고려대에는 공식 와인이 있다  (0) 2019.10.02