인프런 커뮤니티 질문&답변

mch473700님의 프로필 이미지
mch473700

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

4-A

사전순 정렬

작성

·

243

0

http://boj.kr/ac9c5032616d42d3b9599642e583fdcb

 

더 효율적인 방법을 제시해 주셨는데

이 방식도 알아내고 싶어 질문 드립니다.

이 방식대로 풀어내면 정렬하는 곳에서 문제가 생기는데

1 4 10

1 4 6

이렇게 정렬되어 사전순 정렬이 불가능한데..

 

백터<string>에 담긴 "1 4 10", "1 4 6" 를 정렬하려면 어떡하면 좋을까요?

 

뭔가.. split을 잘 사용하면 될 것 같은 느낌이 있는데

과부하가 걸렸는지 사고가 안되네요 ㅎㅎㅜ

 

답변 2

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 mch님 ㅎㅎ

음.. 뭔가 풀리신 거 같은데 첨언을 드리면요.

"1 4 10", "1 4 6" 를 정렬

>> 이부분은 custom comparator를 사용하시면 됩니다.

bool comp(string a, string  b){
    if(a.size() == b.size()) return a < b; 
    return a.size() < b.size();
}

이런식으로 구축하시면 자연스레 사이즈관련 이슈는 해결됩니다.

 

또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.

0

mch473700님의 프로필 이미지
mch473700
질문자

아 죄송합니다 로직이 문제가 있었네요 ㅎㅎ,
정렬하는데 있어 최소값이 아닌 것도 포함되어 있어
정답이 아닌 값도 정렬을 하게 되네요.

mch473700님의 프로필 이미지
mch473700

작성한 질문수

질문하기