4회차 - 알고리즘 기록 : 응모

2022. 6. 13. 19:27·TEAM STUDY/알고리즘 코딩 테스트 스터디
728x90
반응형

📌응모

  어느 한 아이돌 그룹의 팬 클럽 '아재리눅스'의 회원들은 앨범과 기념품 구매에 돈을 아끼지 않기로 유명하다.

이 아이돌 그룹의 소속사는 이번 새 2집 리패키지 앨범을 구매한 회원들을 대상으로 팬 사인회를 진행하기로 결정하였다.

예상과 같이 새 앨범은 출시와 동시에 엄청난 수량이 판매되었으며, 팬 사인회에서 수용할 수 있는 구매자의 수를 아득히 넘어섰다. 

 결국 모든 회원을 팬 사인회에 초청할 수 없었기에 판매 된 앨범의 시리얼 번호를 통하여 추첨을 하기로 하였다.

하지만 앨범을 구매한 모든 사람이 팬 사인회 참가가 가능한 것은 아니므로 참가를 희망하는 팬들에게 본인이 구매한 앨범의 시리얼 넘버를 통해 응모할 수 있도록 하였다.

 하지만 너무나도 아이돌을 만나고 싶어하는 몇몇 삼촌 팬이 같은 시리얼 번호로 여러 번 응모했다는 사실이 밝혀지면서, 이 아이돌의 매니저인 당신은 중복 응모한 시리얼 넘버를 추첨 대상에서 제외하기로 결정하였다.

하지만 응모한 사람이 너무 많은 나머지 도저히 눈과 손으로는 중복을 제거할 수 없었다.

하지만 현재는 매니저이지만, 왕년에 컴퓨터공학과를 졸업한 당신은 프로그램을 작성해 이 문제를 해결하고자 한다.

응모한 모든 시리얼 번호가 주어질 때, 이 시리얼 번호들 중 두 번 이상 응모한 번호를 모두 제거하여 오름차순으로 출력하는 프로그램을 작성해보자.

 

 

입력 형식

 첫 줄에 데이터의 수 N이 1이상 10만 이하의 자연수로 공백없이 주어진다.

한 줄에 응모한 시리얼 번호들이 공백으로 구분된 1이상 10만 이하의 자연수로 주어진다.

 

출력 형식

응모한 모든 시리얼 번호 중 두 번이상 응모한 번호를 제외하고 나머지 번호들을 공백으로 구분하여 한 줄에 오름차순으로 출력한다. 최소 하나의 시리얼 번호는 응모 조건을 만족한다.

 

예시

- 입력

6

2 3 3 4 7 5

 

- 출력

2 4 5 7

 

코드 풀이

/**
 * data[0] ~ data[n-1]에서 중복이 존재하지 않는 원소들을 반환한다.
 * 단, 각 원소들은 오름차순으로 정렬되어 있어야 한다.
 * @param data  data[0] ~ data[n-1]에는 10만 이하의 자연수다.
 * @param n
 * @return
 */
public static ArrayList<Integer> getUniqueElements(int[] data, int n) {
    ArrayList<Integer> ret = new ArrayList<>();
    Arrays.sort(data);

    for( int i = 0; i < n; i++){

        // 왼쪽값과 다르거나, 왼쪽값이 없거나
        // 오른쪽값이 다르거나 오른쪽값이 없거나
        if( (i == 0 || data[i-1] != data[i]) && (i == n-1 || data[i+1] != data[i] ) ){

            // 중복이 존재하지 않는.
            ret.add(data[i]);
        }
    }
    return ret;
}
728x90
반응형
저작자표시 (새창열림)

'TEAM STUDY > 알고리즘 코딩 테스트 스터디' 카테고리의 다른 글

4회차 - 알고리즘 기록 : 색종이  (0) 2022.06.13
4회차 - 알고리즘 기록 : 피보나치 나머지  (0) 2022.06.13
4회차 - 알고리즘 기록 : 페인트  (0) 2022.06.13
4회차 - 알고리즘 기록 : 전화번호  (0) 2022.06.13
3회차 - 알고리즘 기록  (0) 2022.06.08
'TEAM STUDY/알고리즘 코딩 테스트 스터디' 카테고리의 다른 글
  • 4회차 - 알고리즘 기록 : 색종이
  • 4회차 - 알고리즘 기록 : 피보나치 나머지
  • 4회차 - 알고리즘 기록 : 페인트
  • 4회차 - 알고리즘 기록 : 전화번호
Binsoo
Binsoo
내 트러블 슈팅
  • Binsoo
    정수빈 기술블로그임.
    Binsoo
  • 전체
    오늘
    어제
    • 빈수 개발자 개발 일기 (932)
      • 개발중 (634)
        • Spring Boot (95)
        • Spring Security (2)
        • Spring Batch (6)
        • Spring Boot & Redis (13)
        • Java Persistence API (JPA) (28)
        • Web (42)
        • Rest Api (7)
        • Spring Concurrency Control (3)
        • Redis (8)
        • Kubernetes (k8s) (4)
        • MYSQL (35)
        • AirFlow (15)
        • Docker (2)
        • Git (22)
        • Linux (9)
        • JSON Web Tokens (JWT) (4)
        • Troubleshooting (87)
        • Swagger (0)
        • Vue.js (52)
        • Java (74)
        • html (12)
        • C (5)
        • jQuery (15)
        • JavaServer Pages (JSP) (17)
        • Arduino (1)
        • JavaScript (35)
        • Amazon Web Services (AWS) (11)
        • Algorithm (9)
        • 참고 기능 (18)
        • mongo (2)
      • PROJECT (27)
        • 스프링부트+JPA+몽고 API 개발 (3)
        • MINI (2)
        • 게시판 (3)
        • vue 프로젝트 (1)
        • JPA 사이드 프로젝트 기록 (17)
      • TEAM STUDY (156)
        • 가상 면접 사례로 배우는 대규모 시스템 설계 기초 (8)
        • 한 권으로 읽는 컴퓨터 구조와 프로그래밍 (12)
        • NAVER DEVELOPER (4)
        • LINUX (23)
        • PYTHON (19)
        • SERVER (8)
        • 알고리즘 코딩 테스트 스터디 (31)
        • 쿠버네티스 (40)
        • 대세는 쿠버네티스 [초급~중급] (11)
      • BOOK (0)
      • 자격증 (61)
        • 리눅스 1급 - 필기 기록 (19)
        • 네트워크 관리사 (2)
        • 네트워크 관리사 2급 - 실기 기록 (21)
        • 네트워크 관리사 2급 - 필기 기록 (16)
        • 정보처리 (2)
      • 직장인 대학원 (17)
        • 기록 (1)
        • 캐글 스터디 (3)
        • R (12)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    redis
    git
    네트워크 관리사 학점
    네트워크 관리사 요약
    스프링
    파이썬
    리눅스 1급 요약
    쿠버네티스
    Spring
    REST API
    java
    VUE
    docker
    쿠버네티스 스터디
    네트워크 관리사 2급
    Git 저장소
    파이썬 알고리즘
    리눅스 마스터 1급 요약
    리눅스 마스터
    알고리즘
    jpa
    리눅스 마스터 요약
    springboot
    리눅스 마스터 1급
    네트워크 관리사
    네트워크 관리사 실기
    BackendDevelopment
    리눅스 마스터 1급 정리
    네트워크 관리사 2급 실기
    네트워크 관리사 자격증
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
Binsoo
4회차 - 알고리즘 기록 : 응모
상단으로

티스토리툴바