놀랍게도 아직 3문제밖에 안된 알고리즘 스터디!
사실 내가 안 풀어서 그렇다.
다른 사람은 더 많이 풀었던 것 같은데...
.
.
.
오늘 컨디션이 별로라 조금 고민했지만,
어제 패스권을 써서 양심이 너무 찔렸다 ㅎ
그래서 오늘의 문제는 정렬!
프로그래머스 코딩 테스트 연습
정렬(sort) - 가장 큰 수
문제 사이트 : https://programmers.co.kr/learn/courses/30/lessons/42746
코딩테스트 연습 - 가장 큰 수 | 프로그래머스
0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요.
programmers.co.kr
- 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수
여기서 이어 붙인다는 것은 string으로 인식해서 그대로 + 해주는 것과 동일한 뜻이다.
- 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return
(이때 순서 재배치가 아주 중요한데 여기서 정렬을 쓰는 것 같다.)
직접 작성해본 소스코드 및 간단한 설명
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#include <string>
#include <vector>
using namespace std;
string solution(vector<int> numbers) {
vector<int> num;
while(/*뭘 넣어야할지 모르겠음*/){
string tmp;
for(int i = 0; i< numbers.size(); i++)
num.push_bak(atoi(tmp));
}
for(int i = 1; i< num.size(); i++){
max = num.at(i);
}
string answer = itoa(max);
return answer;
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
|
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:white">cs |
사실 보면 알겠지만, 아직 미완성이다.
컨디션도 나쁘고 짧은 시간 동안 해보려고 하니 머리가 돌아가지 않는다...
마음속에서는 다른 방법도 시도해보고 있지만..
실. 패.
.
.
.
while( ) 이 조건을 어떻게 해야 할지 모르겠다는 건데
사실 반복문을 하는 것도 아닌 것 같긴 하다.
그래도 대충 쓴 코드를 설명하자면,
참고로 말하자면, 매우 간단하지만 시간이 오래 걸리는 알고리즘이므로 따라 하지 않는 것이 좋을 듯하다.
● vector에 있는 값을 int형으로 받아 string으로 변환 ( itoa( ) 사용 )
● for문을 통해 string들을 이어 붙임
( 이때, 모든 경우를 다 따져야 한다. (아마 정렬을 사용. 매우 비효율적인 방법) )
● 이어 붙인 것들을 int형으로 바꾼 후 그중 가장 큰 값을 return 한다.
다시 봐도 정말 비효율적이다.
아무튼 이렇게 대충 완성된 알고리즘은 일단 남겨두고
몸이 조금 괜찮아지면 다시 도전해 볼 예정 ^^
후에 채점까지 완료한 코드는 현 코드와 비교해서 다시 올려보도록 하겠습니다.
'스터디 > 알고리즘 스터디' 카테고리의 다른 글
[백준 알고리즘] 2606 바이러스 (21.05.02) (0) | 2021.05.02 |
---|---|
[백준 알고리즘] 1541 잃어버린 괄호 (21.04.25) (0) | 2021.04.25 |
[백준 알고리즘] 11399 ATM 그리디(21.04.25) (0) | 2021.04.25 |
[프로그래머스-코딩테스트 연습] 힙 - 더 맵게 (20.02.03) (0) | 2020.02.03 |
[프로그래머스-코딩테스트 연습] 정렬 - K번째 수 (20.01.29) (0) | 2020.01.29 |