inmowo   4년 전

정렬을 따로 구현하진 않았고 내장 메소드 활용했습니다.


혹시 저렇게 정렬되면서 중복된 숫자들이 원래 있던 index를 잃어버리는 걸까요??


ㅠㅠㅠㅠㅠㅠ댓글 부탁드립니다.

chogahui05   4년 전

어떻게 푸셨는지 설명을 해 주셨다면 좋았을텐데..

String의 indexOf 메서드는 특정한 무언가가 몇 번째 위치에서 처음 나타나는가를 리턴해 주는 함수입니다.

indexOf에 String을 넣는다면.. String에서 SubString이 몇 번째에서 처음 나타나는지를 알려주는 것이겠네요. 맞죠?


5

600 200 300 400 500

이 있을 때 알고리즘 수행 과정을 보면요.


200300400500600 이렇게 정렬을 해 놓습니다. 그리고 문자열에 +연산자로 append 시키겠죠.

일단 600이라는 문자열이 나타나는 건 12번째입니다. 그리고 이 자리를 x로 replace 하겠네요.


200300400500x

그리고 200은 0번째에서 나타납니다. 다 탐색하면 200을 제거합니다.


x300400500x

어디서 잘못되었는지 아시겠지요?


inmowo   4년 전

크......그런 오류가 있었군요ㅠㅠㅠㅠㅠㅠㅠ

항상 이런 실수들을 하는데

왜 맨날 코딩 짤때는 간과하는건지...

감사합니다 정말!!!!!

inmowo   4년 전

말씀하신대로...문자열에 오류가 생길거 같아

아예 for문을 추가했습니다...

그래서..예문과 올려주신 100 200 300...이 예제는 맞게 나오는데

막상, 제출하면 곧바로 틀리다고 나오네요 ㅠㅠ

chogahui05   4년 전

혹시 

5

4 3 3 2 5

와 같은 데이터를 인풋으로 넣어보셨는지요. 이 경우 답이 제대로 나오지 않습니다.

답은  3 1 2 0 4 입니다.


어떻게 이런 답이 나왔는지 생각해 보시면 되실 듯 합니다. 거의 다 오셨습니다.

inmowo   4년 전

break...!!

하ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ

진짜 감사합니다ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ

결국...중복되는값을 전부 -1로 만들었던거군요....한 번 찾았으면 for문을 빠져나와야하는건데ㅠㅠ

감사합니다 배우고갑니다정말 ㅠㅠ

댓글을 작성하려면 로그인해야 합니다.