Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 2941
- 10773
- Zero That Out
- 4949
- Parenthesis
- 해바
- 바샤
- File 조작
- 균형잡힌 세상
- For Beginners
- QA
- Process Communication
- c
- LJESNJAK
- process control
- file IO
- 입력 버퍼
- c++
- Baekjoon
- IT
- 백준
- 5622
- 브런치
- BAKA
- The Balance of the World
- system programming
- 시프
- 시스템 프로그래밍
- 1874
- 전자책
Archives
- Today
- Total
해바
2920) 5. 1차원 배열 : 음계(NOTE) 본문
문제
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부터 1까지 차례대로 연주한다면 descending, 둘 다 아니라면 mixed 이다. 연주한 순서가 주어졌을 때, 이것이 ascending인지, descending인지, 아니면 mixed인지 판별하는 프로그램을
www.acmicpc.net
내 코드
// 8개이므로 아래 코드는 고정값 기준으로 작성함
#include "stdio.h"
int main() {
int a[8]{ 0 }, asc(0);
for(int i(0); i < 8; i++) {
scanf("%d", &a[i]);
switch (i) {
case 0:
continue;
default:
if(a[i - 1] > a[i]) asc--; // 이전값이 현재값보다 크면 감소추세이므로 --
if(a[i] > a[i - 1]) asc++; // 현재값이 이전값보다 크면 증가추세이므로 ++
break;
}
}
switch (asc) {
case 7:
printf("ascending\n"); // 감소가 한번도 없었을 경우
break;
case -7:
printf("descending\n"); // 증가가 한번도 없었을 경우
break;
default:
printf("mixed\n");
break;
}
return 0;
}
'C, C++' 카테고리의 다른 글
4344) 5. 1차원 배열 : 평균은 넘겠지(Above Average) (0) | 2019.08.05 |
---|---|
3052) 5. 1차원 배열 : 나머지(MODULO) (0) | 2019.08.05 |
2562) 5. 1차원 배열 : 최댓값 (0) | 2019.08.05 |
2439) 3. for문 : 별 찍기 - 2 (0) | 2019.08.05 |
2438) 3. for문 : 별 찍기 - 1 (0) | 2019.08.04 |
Comments