inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

정말 쉽게 풀어보는 코딩 테스트 top 기본 문제 (with 자바)

제로 이동(Move Zeros)

다른 방법으로 풀어봤습니다.

322

Sung Rak

작성한 질문수 14

1

문제를 보기전에 아래와 같이 List방식으로 풀어봤는데

상관없을까요? 제출하니 단위테스트에 몇개 걸리네요..ㅎㅎ

public String solution(int[] move) {
List<Integer> list = new ArrayList<>();
List<Integer> listZero = new ArrayList<>();

for(int i=0; i<move.length; i++) {
if(move[i] != 0) {
list.add(move[i]);
} else {
listZero.add(move[i]);
}
}

for (int s : listZero) {
list.add(s);
}

return Arrays.toString(list.toArray());
}

템플릿에는 리턴이 void로 되어있어서  String으로 리턴해보기도하고 void상태로도 아래와 같이 발생하고 방법을 모르겠네요 ㅠㅠ

코테 준비 같이 해요! java

답변 3

1

푸샵맨 코딩스터디

답변이 늦어서 죄송합니다.

이렇게해도 됩니다. 리스트에 0이 뒤에 가도록 하셨네요.

원래 문제에서는 배열에 위치만 바꾸면 되지만,  리스트를 추가하셔서 담으면 당연히 속도가 느리겠죠.

1

Sung Rak

출제의도가 index위치만 바꿔주는게 핵심인걸 인지해야겠네요..

그래도 굳이 list를 찍어보는방법으로 해야된다면 아래와 같이  output을 list형식을 배열에 다시 담아봤는데 이렇게도 안되면, 

안되는거겠죠..? ㅠㅠ

public String solution(int[] move) {        
        List<Integer> list = new ArrayList<>();
        List<Integer> listZero = new ArrayList<>();

        for(int i=0; i<move.length; i++) {
            if(move[i] != 0) {
                list.add(move[i]);
            } else {
                listZero.add(move[i]);
            }
        }

        for (int s : listZero) {
            list.add(s);
        }

        move = new int[list.size()];
        int size = 0;
        for(int temp : list) {
            move[size++] = temp;
        }

        return Arrays.toString(move);
    }

1

푸샵맨 코딩스터디

안녕하세요~ 

열심히 하시는군요~

이 문제는 배열에 있는 기존 값 중에 0 인것을 찾아서 index위치만 바꿔주는 게 핵심입니다.

또한 문제의 요구사항인데 제가 이건 문제 풀때 언급을 안했네요. 

(배열은 fixed, 리스트는 추가가능하죠. 이건 배열이니까  index만 조정해주는 문제입니다.)

1. return 타입이 void라서 따로 저장소를 만들필요가 없습니다. 아래처럼 list를 만들 필요가 없습니다.

2. 문제에서 int[] nums를 output으로 찍고 있습니다.(input output이 변화가 없다고 보고 있음)

sung rak님이 만드신 list에 있는걸 찍지 않고 있습니다.

즐코딩하세요~

강의자료에 나오는 m과 n의 범위가 코딩하고 다른거 같습니다

0

252

0

나선형매트릭스 깃허브에 코드가 없는것같아요

0

207

0

로그 파일의 데이터 재정렬 코드가 깃허브에 없어요!

0

221

0

새로 생긴 기초강의 질문드려요

1

373

1

질문드립니다

1

218

1

Unique Paths Integer 질문입니다

0

218

1

subString 방법으로 문제 풀이 영상은 짤린건가요?

1

250

1

DFS 방식으로 푼 것이 맞나요?

0

306

2

질문드립니다~

0

195

1

left if문에 대해서

1

254

1

오타 인가요?

1

236

1

안녕하세요 강사님

1

187

1

질문 드립니다

0

171

2

Queue&Stack 문제해설집 문의

0

182

1

문제분석 로직 질문

1

228

1

시간 복잡도 문의드립니다.

1

230

1

시간복잡도 질문드립니다.

1

200

1

for-each 문 질문있습니다!

0

292

1

강의영상에서 사용된 로그 메소드가 궁금합니다.

2

279

2

강의자료 + 문제 이해 관련 질문입니다

1

277

3

강사님 오류맞나요?

1

205

1

강사님 시간 복잡도에 대해서 질문드립니다.

1

171

1

질문입니다.

1

200

1

문제에 대한 이해

1

312

1