티스토리 뷰
문제 링크
문제 요약
- 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다.
- 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다.
- 일곱 난쟁이의 키를 오름차순으로 출력한다.
- 일곱 난쟁이를 찾을 수 없는 경우는 없다.
브루트 포스
- 정답을 찾을 때까지 반복문이 진행되므로 브루트 포스 문제이다.
- 조건문과 반복문을 잘 짜주면 어렵지 않게 문제를 해결할 수 있다.
문제 해답
#include <iostream>
#include <algorithm>
using namespace std;
const int SIZE = 9; // 난쟁이의 수
const int Height = -100;
int main(void) {
int arr[SIZE]; /* 난쟁이들의 키 */
int fakeVal = Height; /* 난쟁이들의 키 - 100 */
int buf;
bool flag = false;
for (int i = 0; i < SIZE; i++) {
cin >> arr[i];
fakeVal += arr[i];
}
for (int i = 0; i < SIZE - 1; i++) {
buf = fakeVal - arr[i];
if (buf <= 0) {
continue;
}
for (int j = i + 1; j < SIZE; j++) {
if (buf == arr[j]) {
arr[i] = 0;
arr[j] = 0;
flag = true;
break;
}
}
if (flag)/* 2중 for문 탈출을 위한 flag */
break;
}
sort(arr, arr+SIZE);
for (int i = 2; i < SIZE; i++) {
cout << arr[i] << endl;
}
return 0;
}
'알고리즘 > Olympiad' 카테고리의 다른 글
[Olympiad] 지역본선 2005 초등부 : 대표값2 #2587 (0) | 2019.09.25 |
---|---|
[Olympiad] 지역본선 2004 초등부 : 로마 숫자 #2608 (0) | 2019.09.24 |
[Olympiad] 지역본선 2004 초등부 : 비슷한 단어 #2607 (0) | 2019.09.24 |
[Olympiad] 지역본선 2004 초등부 : 바이러스 #2606 (0) | 2019.09.24 |
[Olympiad] 지역본선 2004 초등부 : 줄 세우기 #2605 (0) | 2019.09.24 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 이팩티브 자바
- 이펙티브 자바
- 정규표현식
- Algorithm
- BOJ
- MSA
- programmers
- kotest
- Spring
- Java
- BAEKJOON
- 알고리즘
- 코테
- Effective Java
- C++
- 백준
- kkoon9
- AWS
- 프로그래머스
- 클린 코드
- JPA
- Olympiad
- 클린 아키텍처
- Spring Boot
- 디자인 패턴
- 객체지향
- Kotlin
- 테라폼
- 디자인패턴
- node.js
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함