반응형

ComputerScience/Algorithm 12

[TIL] 스택, 큐, 우선순위 큐, Linked List, 해시테이블

스택LIFO (last in first out)push(x) # x를 넣는다pop() # 맨 위에서 꺼낸다peek() # 맨 위 값을 확인isEmpty() # 비어 있는지 확인 큐FIFO (first in first out)enqueue(x) # x를 넣는다dequeue() # 맨 앞에서 꺼낸다peek() # 맨 앞 값을 확인isEmpty() # 비어 있는지 확인 우선순위 큐값이 들어온 순서와 관계없이, 우선순위가 높은 값부터 먼저 나오는 큐 Linked List데이터를 담고 있는 노드(Node) 들이 포인터(링크) 로 연결된 구조 항목 배열(List) ..

[프로그래머스 Lv.1] 신고 결과 받기

import java.util.*; import java.util.stream.Collectors; class Solution { public int[] solution(String[] id_list, String[] report, int k) { Map userIdMap = initUserIdMap(id_list); //user - id(index) Map suspectIdReportedListMap = initSuspectIdCheckListMap(id_list); //신고당한 유저(id) - 신고한 유저들의 List setReportToIdCheckListMap(report, userIdMap, suspectIdReportedListMap); return getPushMailNumPerUserArr..

[프로그래머스 Lv.1] 로또의 최고 순위와 최저 순위

import java.util.HashMap; import java.util.Map; class Solution { public int[] solution(int[] lottos, int[] win_nums) { int[] answer = new int[2]; //0. init rankMap && isWinLottoMap Map rankMap = initRankMap(); int countOfZero = getCountOfZero(lottos); //아래 두 코드를 합치려면 어떻게 해야 할까? Map isWinLottoMap = initIsWinLottoMap(lottos); //2. count number of Win int numOfWin = 0; for (int win_num : win_nums) ..

[백준] 14500-테트로미노

아....어렵다.... 삽질 이 문제는! DFS 문제 생각의 흐름 1. 서, 북, 동, 남 배열 필요. dx={0, -1, 0, 1} dy={-1, 0, 1, 0} 2. 서, 북, 동, 남 인덱스 좌표 필요 WEST = 0; NORTH = 1; EAST = 2; SOUTH = 3; 3. 갈 수 없는 위치에 대한 처리 필요 -> 현재 위치에 따라, 벽인지 아닌지 구분이 필요함. 4. 갈 필요가 없는 위치에 대한 처리 필요 -> 진행방향에 대한 변수를 갖고 있어야 함. 5. 테트로미노 큐가 필요 -> 큐에 4개가 차면, 합계를 구함. 6. 합계를 어떻게? -> map 에 방문표시를 해서, 큐에 4개가 찼을 때, 방문한 것들의 합을 구한다. 생각의 정리 1.

[백준] 3190 - 뱀

생각의 흐름 //n을 입력받는다. //사과의 개수(K)를 입력받는다. //사과의 좌표를 입력받는다.(for) //방향 변환 횟수(L)을 입력받는다. //x초, L/D (for) //Queue 에 Snail 정보를 넣는다. //Queue 가 빌때까지(while) //Snail 정보를 뽑는다. //머리가 벽에 부딫히면 return //자기자신의 몸에 부딫히면 return //움직인다. package march.first; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; /** * 뱀 */ public class Main3190 { private static..

반응형