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
- 디자인패턴
- 자료구조
- D3
- d4
- Java
- 레퍼럴
- 재밌게 할래요
- 프로그래머스
- 11060
- 백준
- BOJ
- 논블록
- 알고리즘
- 블록
- spring
- 10505
- SOLID
- 어싱크
- 삼성 SW 역량 테스트 기출 문제
- 점프 점프
- 이니셔티브 q
- 메타퀘스트3
- 리퍼럴
- SWEA
- Meta Quest3
- Initiative Q
- level2
- Design Pattern
- D2
- C++
Archives
- Today
- Total
아직은 정체성이 없는 블로그
[SWEA][D3][c++] 1208. [S/W 문제해결 기본] 1일차 - Flatten 본문
문제
1208. [S/W 문제해결 기본] 1일차 - Flatten
문제 링크
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV139KOaABgCFAYh
풀이 과정
더 빨리, 더 효율적으로 풀 수 있는 문제이지만 한정된 범위에 충분한 시간으로 처리할 수 있을 것 같아서 정렬로 풀이하였다.
단순하게 sort 함수를 이용하여 정렬 후 맨 끝 값에 맨 앞 값을 뺀값이 1 이하이면 반복문을 break 하고 그게 아니라면 끝 값에 -1 앞 값에 +1을 한 후 다시 정렬을 한다.
dump의 값 까찌 반복을 한 후 맨 끝 값과 맨 앞 값을 뺀 값을 출력한다.
코드
#include<iostream>
#include<algorithm>
using namespace std;
int main(int argc, char** argv)
{
cin.tie(0);
int test_case;
int arr[100];
for(test_case = 1; test_case <= 10; ++test_case)
{
int dump;
cin >> dump;
for(int i=0; i<100; i++){
cin >> arr[i];
}
sort(arr,arr+100);
while(dump--){
if(arr[99]-arr[0]<=1)
break;
arr[99]--;
arr[0]++;
sort(arr,arr+100);
}
cout<<"#"<<test_case<<" "<<arr[99]-arr[1]<<"\n";
}
return 0;
}
'알고리즘 역량테스트 문제 > SWEA' 카테고리의 다른 글
[SWEA][D3][c++] 9480. 민정이와 광직이의 알파벳 공부 (0) | 2020.08.11 |
---|---|
[SWEA][D3][c++] 10505. 소득 불균형 (0) | 2020.08.08 |
[SWEA][D3][c++] 6718. 희성이의 원근법 (0) | 2020.07.21 |
[SWEA][D2][c++] 1204. [S/W 문제해결 기본] 1일차 - 최빈수 구하기 (0) | 2020.07.20 |
[SWEA][D2][c++] 1945. 간단한 소인수분해 (0) | 2020.07.20 |
Comments