cs/백준
[C++] 백준 2309번: 일곱 난쟁이
신_이나
2022. 7. 22. 03:25
대체 왜 틀린것이야,,
문제
https://www.acmicpc.net/problem/2309
2309번: 일곱 난쟁이
아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다.
www.acmicpc.net
코드,,
//
// main.cpp
// 백준 2309번
//
// Created by 신지원 on 2022/07/20.
//
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main(int argc, const char * argv[]) {
vector<int> v(9);
int sum =0;
for(int i=0;i<9;i++){
cin >> v[i];
sum += v[i];
}
for(int i =0;i<9;i++){
for(int j=0;j<i;j++){
if(sum - v[i] - v[j] == 100){
v[i] = 0; v[j] = 0;
break;
}
}
}
sort(v.begin(), v.end());
for(int i =0;i<9;i++){
if(v[i] != 0) cout << v[i] << "\n";
}
return 0;
}
왜 틀렸어 왜 왜왜왜왜왜 테스터 값 잘 나왔는데 왜애오왱왜애 (새벽 2시 58분 신지원)
//
// main.cpp
// 백준 2309번
//
// Created by 신지원 on 2022/07/20.
//
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main(int argc, const char * argv[]) {
vector<int> v(9);
int sum = 0;
for(int i=0;i<9;i++){
cin >> v[i];
sum += v[i];
}
for(int i =1;i<9;i++){
for(int j=i+1;j<9;j++){
if(sum - v[i] - v[j] == 100){
v[i] = 0; v[j] = 0;
break;
}
}
}
sort(v.begin(), v.end());
/*for(int i =0;i<9;i++){
if(v[i] != 0) cout << v[i] << "\n";
}*/
// 이렇게 굳이 할 필요 없음. 이미 0으로 만들어주고 sort 했으니까
for(int i=2;i<9;i++){
cout << v[i] << "\n";
}
return 0;
}
이것도 틀림,, 대체 왜/!??!
//
// main.cpp
// 백준 2309번
//
// Created by 신지원 on 2022/07/20.
//
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main(int argc, const char * argv[]) {
vector<int> v(9);
int sum = 0;
for(int i=0;i<9;i++){
cin >> v[i];
sum += v[i];
}
sort(v.begin(), v.end());
for(int i =0;i<9;i++){
for(int j=i+1;j<9;j++){
if(sum - v[i] - v[j] == 100){
for(int k=0;k<9;k++){
if(v[k] == v[i] || v[k] == v[j]) continue;
cout << v[k] << "\n";
}
}
}
}
return 0;
}
틀렸당 틀렸당! 대체 왜? 자고 다시 생각해보겠다 새벽 코딩은 너무 해로워,,
++7/22 추가
바보바보바보바보!!!
v[k] 배열을 찾았다면 멈춰야 하는데 break 을 안넣어줘서 틀렸다. 난 과감히 for 문을 돌린 뒤 return 0; 을 넣어주어 코드를 완성했다,
//
// main.cpp
// 백준 2309번
//
// Created by 신지원 on 2022/07/22.
//
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main(int argc, const char * argv[]) {
vector<int> v(9);
int sum = 0;
for(int i=0;i<9;i++){
cin >> v[i];
sum += v[i];
}
sort(v.begin(), v.end());
for(int i =0;i<9;i++){
for(int j=i+1;j<9;j++){
if(sum - v[i] - v[j] == 100){
for(int k=0;k<9;k++){
if(v[k] == v[i] || v[k] == v[j]) continue;
cout << v[k] << "\n";
}
return 0;
}
}
}
return 0;
}
댓글로 친절하게 알려주신 익명의 댓글님 넘 감사드립니당,,,,
앞으로 정신차리자!