상세 컨텐츠

본문 제목

2019-04-24-[백준]-2920번

Tech/Algorithm

by Hoyoo 2019. 6. 1. 20:08

본문


layout: post
title: "[백준] 2920번_음계"
date: 2019-04-24
desc: "백준 2920번"
keywords: "Algorithm"
categories: [Algorithm]
tags: [백준, 알고리즘, 2920번, 음계, c++]
icon: icon-html


백준_2920번


음계


문제

다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, …, C를 8로 바꾼다.

1부터 8까지 차례대로 연주한다면 ascending, 8부터 1까지 차례대로 연주한다면 descending, 둘 다 아니라면 mixed 이다.

연주한 순서가 주어졌을 때, 이것이 ascending인지, descending인지, 아니면 mixed인지 판별하는 프로그램을 작성하시오.


입력

첫째 줄에 8개 숫자가 주어진다. 이 숫자는 문제 설명에서 설명한 음이며, 1부터 8까지 숫자가 한 번씩 등장한다.


출력

첫째 줄에 ascending, descending, mixed 중 하나를 출력한다.


예제 입력 1

1 2 3 4 5 6 7 8

예제 출력 1

ascending

예제 입력 2

8 7 6 5 4 3 2 1

예제 출력 2

descending

예제 입력 3

8 1 7 2 6 3 5 4

예제 출력 3

mixed

출처

Contest > Croatian Open Competition in Informatics > COCI 2009/2010 > Contest #1 1번


알고리즘 분류



풀이

  • 8개의 숫자를 순서대로 string으로 받는다. 그리고 그 string이 '12345678' 인지, '87654321' 인지 아닌지 확인 후 알맞은 결과값을 출력시킨다.

소스코드

#include <iostream>
#include <string>

using namespace std;

int main()
{
    string str;
    string tmp;

    for(int i=0; i<8; i++){
        cin >> tmp;
        str.append(tmp);
    }

    string as="12345678";
    string des="87654321";

    if(str==as){
        cout << "ascending";
    }
    else if(str==des){
        cout << "descending";
    }
    else {
        cout << "mixed";
    }

    return 0;
}

'Tech > Algorithm' 카테고리의 다른 글

2019-04-25-[백준]-2675번  (0) 2019.06.01
2019-04-24-[백준]-10039번  (0) 2019.06.01
2019-04-23-[백준]-89587번  (0) 2019.06.01
2019-04-23-[백준]-2577번  (0) 2019.06.01
2019-04-22-[백준]-1152번  (0) 2019.06.01

관련글 더보기

댓글 영역