알고리즘/프로그래머스

알고리즘/프로그래머스

[프로그래머스] lv1. 완주하지 못한 선수 [#해시] + HashMap 순회법

1. 문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 설계 2중 for문 등으로 안풀려서 사람들 반응을 보았더니 효율성 따지기가 하늘의 별따기였던 문제이다. 나도 내 머리속으로 설계는 해시를 잘 몰라서 못했고, 사람들 의견을 보면서 진행해보았다. 1) 해시맵을 생성한다. 2) 해시맵에 참여자를 넣어준다. 단, 동명이인이 있을 수 있으므로 Integer에는 사람의 수를 체크한다. 3) 해시맵에 완주자를 반영한다. 완주자 value..

알고리즘/프로그래머스

[프로그래머스] lv1. 포켓몬 [#해시]

코테를 앞둬야만 공부하는 인생 유유 오늘은 해본지 오래된 해시를 공부해보자! 1. 문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 설계 & 코드 설계1) 1) 해시맵을 쓴다. 2) for문을 돌려 nums에 있는 숫자들이 중복 제외 몇 개가 있는지 체크한다. (200001개) 3) 200001개 배열 중 1개라도 숫자가 나온 곳을 해시맵에 저장한다. 4) N/2보다 해시맵 크기가 작으면 해시맵 크기를, N/2보다 해시맵 크기가 크..

알고리즘/프로그래머스

[프로그래머스] lv3. 네트워크 [#Union-Find]

1. 문제 출처 2. 설계 - 노드가 연결된 모양세를 보고 같은 네트워크를 가진 뭉텅이는 몇 개가 있는지 세주는 문제이다. - 즉, 부모가 같은 무리가 몇 개인지 세주는 것이다. - 그래서 union-find 풀면 될 것 같았다. 3. 전체 코드 //union - find class Solution { static int[] p; static int[] order; public int solution(int n, int[][] computers) { int answer = 0; p = new int[n+1];//1부터 시작 order = new int[n+1]; setP(n); int rowLength = computers.length; int colLength = computers[0].length; ..

알고리즘/프로그래머스

[프로그래머스] lv2. 게임 맵 최단 거리 [#DFS #BFS]

1. 문제 출처 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 설계 - 첫번째 방법처럼 동서남북으로 이동해 최대한 빠르게 상대방 진영(5,5)까지 진출하는 것이다. - 이렇게 상대방 진영에 진입하지 못할 수도 있다. - BFS를 사용해 가장 빠른 DEPTH로 도착하는 정답을 구하자 (아래와 같다) - 단 갔던 길은 다시 못가게 visited 배열을 관리할 필요가 있다. 3. 전체 코드 import java.util.*; class Solution { //상하좌우 static int[][] direction = {{-1,0},{1,0},{0,-1},{..

알고리즘/프로그래머스

[프로그래머스] Lv2. 타겟넘버 (DFS/BFS)

1. 문제 출처 문제 경로 : 코딩테스트 연습 > 깊이/너비 우선 탐색 > 타겟넘버 https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 타겟 넘버 2. 설계 및 코드 방법1) DFS DFS는 시스템 스택을 사용하는 방법이다. 변수 설명 * numbers : 정답을 도출하기 위한 숫자들의 집합 * target : numbers로 도출해야 하는 정답 * idx : numbers 어느 숫자에 접근해야 하는지 나타내는 인덱스 * cur : 현재 numbe..

알고리즘/프로그래머스

[문자열] 문자열 압축 2020 KAKAO BLIND RECRUITMENT

오랜만에 문자열 공부 지대로 해보고자 선택한 문제이다. 근데 너무 어렵다 ㅠ... 역시 카카오인가..? 1. 출처 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 예를 들어, "ababcdcdababcdcd"의 경우 문자를 1개 단위로 자르면 전혀 압축되지 않지만, 2개 단위로 잘라서 압축한다면 "2ab2cd2ab2cd"로 표현할 수 있습니다. 다른 방법으로 8개 단위로 잘라서 압축한다면 "2ababcdcd"로 표현할 수 있으며, 이때가 가장 짧게 압축하여 표현할 수 있는 방법입니다. 입출력 예 "aabbaccc" 7 "ababcdcdababcdcd" 9 ..

SHIN SANHA
'알고리즘/프로그래머스' 카테고리의 글 목록 (3 Page)