반응형
이런 문제 처음봤는데 푸는법도 신기했다 ㅋ0ㅋ
문제
int[] num = {0,3,2,0,8,5};
여기서 0을 뺀 숫자들은 순서대로 앞에서부터 담고, 0(들)은 0이 아닌 숫자들 뒤에 담기 -
풀이
// 풀이는 변수를 최소한으로 만드는 것이 효율적이므로, 이렇게 한 것 같은데 나는 먼저 다른 배열을 만들 생각부터 했다..ㅎㅎ
int index = 0;
for(int i=0;i<num.length;i++){
if(num[i] != 0){
num[index] = num[i];
index++;
}
}
//이렇게 담으면 0들은 빠지고
//심지어 0이 없어도 문제가 일어나지 않는다
//0의 수를 그럼 어떻게 구하느냐,
while(index<num.length){
num[index] = 0;
index++;
}
//이렇게 index를 기준으로 0을 심어준다 (애초에 0이 없었다면 index도 num.length와 같아졌을 것이기 때문에 오류 없음)
//그리고 출력하면 된다
for (int i=0;i<num.length;i++){
System.out.print(num[i]+" ");
}
728x90
반응형
LIST
'to be 개발자' 카테고리의 다른 글
[알고리즘_자바] Daily Temperature 배열 뒤에 나오는 더 큰 오브젝트와의 거리 구하는 법 (Stack 활용법) (0) | 2020.09.30 |
---|---|
[알고리즘_자바] Two sum 배열 안에서 더해서 제시된 수를 만들 수 있는 두 수의 인덱스 구하기 (0) | 2020.09.19 |
[알고리즘_자바] MeetingRoom 미팅룸 사용 시간 겹치지 않는지 확인하기 (0) | 2020.09.17 |
도커docker 로 맥mac에 오라클oracle SQL Developer 깔기..! (0) | 2020.08.27 |
맥mac 이클립스 스프링 개발 이미지 업로드 미리보기 파일 경로(윈도우에서 옮겨오면서 생긴 일) (0) | 2020.08.22 |
댓글