티스토리 뷰
https://www.acmicpc.net/problem/2920
2920번: 음계
다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다. 1부터 8까지 차례대로 연주한다면 ascending, 8
www.acmicpc.net
문제
다장조는 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초 / 메모리 제한 : 128MB
1. 어떻게 풀까?
1-1) 크기 비교를 하여보자.
ascending일때의 특징은 모든 숫자가 오름차순이라는 것이고,
descending일때의 특징은 모든 숫자가 내림차순이라는 것이다.
만약, 둘다 아니라면 mixed라는 것이다.
따라서, 8개의 숫자 입력을 받은 다름 연속된 두 숫자끼리 비교하여 ascending이 아닌지, descending이 아닌지 판단하면
맞았습니다! 를 받을 수 있는 쉬운 문제이다.
2) 최종 코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #include <bits/stdc++.h> using namespace std; int arr[8]; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); bool ascending = true; bool descending = true; for (int i = 0; i < 8; i++){ cin >> arr[i]; } for (int i = 0; i < 7; i++){ if (arr[i] > arr[i+1]) { ascending = false; } if (arr[i] < arr[i+1]) { descending = false; } } if (ascending) { cout << "ascending";} else if (descending) { cout << "descending";} else {cout << "mixed";} return 0; } | cs |
'PS 이야기 > PS - BOJ' 카테고리의 다른 글
[BOJ] 8958번 - OX퀴즈 (0) | 2022.04.04 |
---|---|
[BOJ] 3052번 - 나머지 (0) | 2022.04.04 |
[BOJ] 2908번 - 상수 (0) | 2022.04.04 |
[BOJ] 2884번 - 알람 시계 (0) | 2022.04.04 |
[BOJ] 2753번 - 윤년 (0) | 2022.04.04 |
- Total
- Today
- Yesterday
- BOJ
- JS
- 시간복잡도
- C++
- docker
- Max
- 헤더
- for
- Network
- 수학
- 백준
- 문자열
- CSAPP
- 함수
- C
- react
- BRONZE
- Proactor
- 프로그래밍
- equal
- 구현
- 알고리즘
- bomblab
- effective async
- GDSC
- Python
- 제어문
- MIN
- 사칙연산
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |