반응형

ComputerScience 14

[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) ..

[Transaction] ACID, 동시성 제어, 격리수준(Isolation Level), Recovery

1. 트랜잭션, Transaction 더보기 데이터베이스의 상태를 변화시키기 위해 수행하는 작업 단위 2. 트랜잭션 특징, ACID 더보기 원자성, Atomicity 트랜잭션이 데이터베이스에 모두 반영되거나, 혹은 전혀 반영되지 않아야 된다. 부분적으로 성공하는 일이 없도록 보장하는 성질. 더보기 송금하는 사람의 계좌에서 돈은 빠져나갔는데, 받는 사람의 계좌에 돈이 들어오지 않는 일이 없어야 한다. 더보기 일관성, Consistency 트랜잭션의 작업 처리 결과는 항상 일관성이 있어야 한다. 트랜잭션이 끝날 때 DB의 여러 제약조건에 맞는 상태를 보장하는 성질. 더보기 송금하는 사람의 계좌 잔고가 0보다 작아지면 안된다. 더보기 독립성, Isolation 둘 이상의 트랜잭션이 동시에 병행 실행되고 있을 ..

[백준] 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..

반응형