[프로그래머스_1] 같은 숫자는 싫어 JAVA

2022. 4. 15. 21:40·알고리즘/알고리즘 풀이
반응형

 

 

코딩테스트 연습 - 같은 숫자는 싫어

배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은

programmers.co.kr

 

 

문제

배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면,

  • arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다.
  • arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다.

배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요.

 

반응형

 

제한사항

  • 배열 arr의 크기 : 1,000,000 이하의 자연수
  • 배열 arr의 원소의 크기 : 0보다 크거나 같고 9보다 작거나 같은 정수

 

 

Code

import java.util.*;

public class Solution {
    public List<Integer> solution(int []arr) {

        List<Integer> list = new ArrayList<>();
        
        int temp = -1;
        
        for(int n : arr) {
            if(temp != n) list.add(n);
            temp = n;
        }

        return list;
    }
}

일단 제일 크게 변한건 메서드의 return 타입을 int[]에서 List<Integer>로 수정했다. 그리고 실행문 내에서 list를 생성하고 바로 전 값을 담아 둘 temp 변수를 선언 후, for문을 돌려 제일 먼저 temp와 n의 값이 다르면 list에 추가했다. 그리고 if문과 상관 없이 temp에 n의 값을 대입했다. 이러면 만약 [1, 1, 2]  배열이 주어졌을 때 1번째 for문에 temp에는 -1, n은 1이니 list에 추가되고, temp에는 1이 담긴다. 두 번째 for문에서는 temp와 n의 값이 같으므로 list에 저장은 하지 않고 temp에 1을 저장한다. 마지막 for문에서는 temp과 n의 값이 다르므로 2가 저장된다. 즉, list에는 [1, 2]가 저장된다.

 

반응형

 

 

실행 결과

반응형
저작자표시 비영리 변경금지 (새창열림)
'알고리즘/알고리즘 풀이' 카테고리의 다른 글
  • [프로그래머스_1] 핸드폰 번호 가리기 JAVA
  • [프로그래머스_1] 서울에서 김서방 찾기 JAVA
  • [프로그래머스_1] 완주하지 못한 선수 JAVA
  • [프로그래머스_1] 내적 JAVA
데부한
데부한
어차피 할 거면 긍정적으로 하고 싶은 개발자
    반응형
  • 데부한
    동동이개발바닥
    데부한
  • 전체
    오늘
    어제
    • 분류 전체보기 (307)
      • 방통대 컴퓨터과학과 (27)
        • 잡담 (9)
        • 3학년1학기 (17)
      • 프로젝트 및 컨퍼런스 회고 (1)
        • 프로젝트 (4)
        • 한이음 프로젝트 (0)
        • 회고 (3)
      • 공부 (165)
        • Spring (37)
        • JPA (71)
        • 인프런 워밍업 클럽_BE (10)
        • Java (6)
        • React.js (27)
        • 넥사크로 (11)
        • 기타 (3)
      • 알고리즘 (85)
        • 알고리즘 유형 (10)
        • 알고리즘 풀이 (57)
        • SQL 풀이 (18)
      • 에러 해결 (13)
      • 잡담 (7)
        • 국비교육 (2)
        • 구매후기 (5)
        • 진짜 잡담 (0)
  • 블로그 메뉴

    • Github
    • Linkedin
    • 홈
    • 방명록
    • 글쓰기
    • 관리
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    자바스크립트
    QueryDSL
    전자정부프레임워크
    백준
    SQL
    알고리즘
    기출문제
    Spring
    MSA
    RESTful
    egov
    인프런
    oracle
    react
    방통대
    프론트엔드
    JPA
    코딩테스트
    토이프로젝트
    넥사크로
    Java
    토비의스프링부트
    IT
    springboot
    스프링부트
    프로그래머스
    SpringBoot를 이용한 RESTful Web Service 개발
    운영체제
    에러해결
    개발자
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
데부한
[프로그래머스_1] 같은 숫자는 싫어 JAVA
상단으로

티스토리툴바