코테/프로그래머스

[프로그래머스 PCCP] Lv1 10번 데이터 분석

2023. 11. 27. 09:43
목차
  1. 문제 설명
  2. 알고리즘
  3. 해결 방법
  4.  

 

문제 설명

https://school.programmers.co.kr/learn/courses/30/lessons/250121?language=java

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

왜 1번에서 바로 10번을 푸냐면 그냥 레벨 순으로 풀고 싶기 때문이다. 별 이유 없다.

이 문제는 너무 쉬웠다. 이런 문제만 코테에 나오면 좋겠다 ㅎㅎ

알고리즘

기준 값(ext, val_ext)과 정렬할 값(sort_by)가 4가지 중에 나오므로 map의 key로 두고 그 배열들의 index 값으로 기준 값보다 작은 것들을 넣고, 정렬해야겠다고 생각을 했다.

 

여기서 배운 것은 List<int[]>를 int[][]로 변환하는 것이다. 자꾸 안쓰면 헷갈린다.

    int[][] answer = validList.stream().toArray(int[][]::new);

 

해결 방법

	public int[][] solution(int[][] data, String ext, int val_ext, String sort_by) {
        
        Map<String, Integer> map = new HashMap<>();
        map.put("code", 0);
        map.put("date", 1);
        map.put("maximum", 2);        
        map.put("remain", 3);
        
        List<int[]> validList = new ArrayList<>();
        
        for (int[] d : data) {
            if (d[map.get(ext)] < val_ext) {
                validList.add(d);
            }
        }
        
        int[][] answer = validList.stream().toArray(int[][]::new);
        
        Arrays.sort(answer, (o1, o2) -> o1[map.get(sort_by)] - o2[map.get(sort_by)]);
        return answer;
    }

 

 

반응형

'코테 > 프로그래머스' 카테고리의 다른 글

[프로그래머스 PCCP] Lv1 9번 이웃한 칸  (0) 2023.11.27
[프로그래머스 PCCP] Lv1 1번 붕대감기  (0) 2023.11.27
[프로그래머스 Lv3] 여행경로  (0) 2023.11.24
[프로그래머스 Lv2] 순위 검색  (0) 2023.11.23
[프로그래머스 Lv2] 행렬 테두리 회전하기  (1) 2023.11.22
  1. 문제 설명
  2. 알고리즘
  3. 해결 방법
  4.  
'코테/프로그래머스' 카테고리의 다른 글
  • [프로그래머스 PCCP] Lv1 9번 이웃한 칸
  • [프로그래머스 PCCP] Lv1 1번 붕대감기
  • [프로그래머스 Lv3] 여행경로
  • [프로그래머스 Lv2] 순위 검색
three von
three von
어려워 보이는 프로그래밍 언어를 쉽게 정복하는 블로그
반응형
three von
LangEASY : 프로그래밍 언어를 쉽게 정복하는 공간
three von
전체
오늘
어제
  • 분류 전체보기 (89)
    • BackEnd (5)
    • JAVA (5)
      • 기초개념 (5)
    • 자료구조 & 알고리즘 (7)
      • 기초수학 (0)
      • 선형 자료구조 (4)
      • 비선형 자료구조 (1)
      • 알고리즘 (1)
    • CS (18)
      • 컴퓨터구조 (0)
      • 운영체제 (3)
      • 시스템 소프트웨어 (0)
      • 네트워크 (4)
      • 디자인패턴 (10)
    • 데이터베이스 (4)
    • Spring (4)
    • Project (2)
      • 팀프로젝트 (1)
      • 토이프로젝트 (1)
    • 회고 (0)
    • Git&Github (8)
    • IntelliJ (5)
    • 코테 (16)
      • 프로그래머스 (10)
      • 백준 (6)
    • BookStudy (12)
      • 스프링 부트 핵심 가이드 (12)
    • C++ (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 명령어변환
  • 제로베이스백엔드스쿨
  • java heap 자료구조
  • 깃 이슈관리
  • InteliJ에서 gitbash사용
  • 개발자
  • 인텔리제이에서 gitbash로 vi vim 에디터 사용하는법
  • 자바 선형자료구조
  • heap 자료구조
  • 자바 자료구조 힙
  • 제로베이스백엔드스쿨미니과제
  • windowcmd창
  • github이슈관리
  • 제로베이스
  • 백엔드 스쿨
  • 백엔드스쿨
  • vi/vim
  • spring
  • IntelliJ 자동화
  • LiveTemplate사용
  • Java
  • 리눅스 명령어 윈도우 cmd창에서 가능
  • 백엔드
  • 자바 자바해시맵
  • github
  • 코테
  • 윈도우에서 리눅스 명령어
  • vi/vim에디터사용
  • githubTest
  • 백엔드공부

최근 댓글

최근 글

hELLO · Designed By 정상우.
three von
[프로그래머스 PCCP] Lv1 10번 데이터 분석
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.