코딩(19)
-
[백준 1018] 체스판 다시 칠하기 (완전탐색) - java 자바
0. 자세한 설명은 YouTube 영상으로 1-1. 완전탐색 Solution import java.util.Scanner; class Main { public static int getSolution(int startRow, int startCol, String[] board) { String[] orgBoard = { "WBWBWBWB", "BWBWBWBW" }; int whiteSol = 0; for (int i = 0; i < 8; i++) { int row = startRow + i; for (int j = 0; j < 8; j++) { int col = startCol + j; if (board[row].charAt(col) != orgBoard[row % 2].charAt(j)) whiteSo..
2022.03.07 -
[프로그래머스] 체육복 문제 풀이(탐욕법 Greedy Lv.1) - C++
0. 자세한 설명은 YouTube 영상으로 1-1. Set을 활용한 Solution import java.util.*; class Solution { public int solution(int n, int[] lost, int[] reserve) { // 1. Set을 만든다 HashSet resList = new HashSet(); HashSet losList = new HashSet(); for (int i : reserve) resList.add(i); for (int i : lost) { if (resList.contains(i)) resList.remove(i); else losList.add(i); } // 2. 여분을 기준으로 앞뒤를 확인하여 체육복을 빌려준다. for (int i : res..
2021.12.20 -
[프로그래머스] 체육복 문제 풀이(탐욕법 Greedy Lv.1) - 파이썬 python
0. 자세한 설명은 YouTube 영상으로 1-1. Set을 활용한 Solution def solution(n, lost, reserve): # 1. Set을 만든다 reserve_only = list(set(reserve) - set(lost)) lost_only = list(set(lost) - set(reserve)) reserve_only.sort(); # 2. 여분을 기준으로 앞뒤를 확인하여 체육복을 빌려준다. for reserve in reserve_only: front = reserve - 1 back = reserve + 1 if front in lost_only: lost_only.remove(front) elif back in lost_only: lost_only.remove(back)..
2021.12.15 -
[프로그래머스] 프린터 문제 풀이(스택/큐 Lv.2) - 파이썬 python
0. 자세한 설명은 YouTube 영상으로 1-1. Queue + Enumerate 를 활용한 Solution def solution(priorities, location): # 1. Queue를 만든다. printer = [(i,p) for i,p in enumerate(priorities)] turn = 0 while printer: job = printer.pop(0) # 2. 나보다 중요한 job이 있으면 뒤에 넣는다. if any(job[1] < other_job[1] for other_job in printer): printer.append(job) else: turn+=1 # 3. 내가 제일 중요하다면 수행하고 location과 비교한다. if job[0] == location: break;..
2021.12.13 -
[프로그래머스] 체육복 문제 풀이(탐욕법 Greedy Lv.1) - java 자바
0. 자세한 설명은 YouTube 영상으로 1-1. Set을 활용한 Solution import java.util.*; class Solution { public int solution(int n, int[] lost, int[] reserve) { // 1. Set을 만든다 HashSet resList = new HashSet(); HashSet losList = new HashSet(); for (int i : reserve) resList.add(i); for (int i : lost) { if (resList.contains(i)) resList.remove(i); else losList.add(i); } // 2. 여분을 기준으로 앞뒤를 확인하여 체육복을 빌려준다. for (int i : res..
2021.12.08 -
[프로그래머스] 프린터 문제 풀이(스택/큐 Lv.2) - C++
0. 자세한 설명은 YouTube 영상으로 1-1. 구조체 + Queue를 활용한 Solution #include #include #include #include #include using namespace std; struct PrintJob{ int priority; int location; }; int solution(vector priorities, int location) { queue printer; //queue에 index 삽입. for(int i=0; i
2021.12.06