해설(15)
-
[백준 1764] 듣보잡 (실버 4) 문제 풀이- 자바 Java 해시
0. 자세한 설명은 YouTube 영상으로 1. 해시를 활용한 풀이 import java.util.*; import java.io.*; class Main { public static void main(String[] args) throws IOException { // 0. 입력 및 초기화 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); StringTokenizer st = new StringTokenizer(br.readLine()); int N = Integer.parseInt(st..
2023.01.14 -
[백준 10816] 숫자 카드 2(실버 4) 문제 풀이- 파이썬 python
0. 자세한 설명은 YouTube 영상으로 1. 해시를 활용한 풀이 import sys # 0. 입력 및 초기화 input = sys.stdin.readline N = int(input()) a = map(int, input().split()) # 1. hash에 num 개수 반영 hash = {} for num in a: hash[num] = hash.setdefault(num, 0) + 1 # 2. hash에서 num 개수 출력 M = int(input()) b = map(int, input().split()) for num in b : print(hash.setdefault(num, 0), end = ' ') 2. 배열을 활용한 풀이 import sys input = sys.stdin.readlin..
2023.01.12 -
백준 DFS 입문 문제 추천 (나 빼고 다 풀었다는 DFS 문제 모음)
1. 실버 등급 DFS 문제 추천! 왜 실버 등급인가요? DFS 유형으로 분류된 문제 중 가장 쉬운 등급이 실버입니다. (브론즈 등급은 없습니다). 그만큼 DFS 라는 유형은 기본적인 난이도가 꽤 되는 문제라서 가장 쉬운 실버 등급 부터 골랐습니다. 문제를 선정한 기준은 어떻게 되나요? 1,000명 이상이 풀어본 DFS 문제를, 풀어본 사람의 수를 기준으로 정렬 했습니다. 그렇게 아래의 25개 문제가 나왔고, 전부 다 풀어본 결과 DFS를 익히기에 좋은 문제였습니다. 이 문제들을 다 풀어봐야 할까요? 저는 모든 문제를 다 풀려는 생각은 비효율적이라고 생각합니다. 그래서 제가 추천 드리는 25개도 전부 풀어볼 필요는 없고 실버 등급의 문제를 수월하게 풀 수 있다고 판단될 때까지만 풀어보면 좋을 것 같습니다..
2023.01.07 -
[백준 1012] 유기농 배추 (실버 3) 문제 풀이- 파이썬 python
0. 자세한 설명은 YouTube 영상으로 1. visited 배열을 사용한 정석 풀이 # ver1 import sys sys.setrecursionlimit(10**6) input = sys.stdin.readline MAX = 50 + 10 dirR = [1, -1, 0, 0] dirC = [0, 0, 1 , -1] def dfs(y, x): global visited visited[y][x] = True for dirIdx in range(4): newY = y + dirR[dirIdx] newX = x + dirC[dirIdx] if graph[newY][newX] and not visited[newY][newX]: dfs(newY, newX) # 0. 입력 및 초기화 T = int(input()..
2023.01.05 -
[백준 10870] 피보나치 수 5 문제 풀이- 파이썬 python
0. 자세한 설명은 YouTube 영상으로 1. 재귀함수만 사용한 풀이 # ver 1 def fib(num): # 2. 탈출 조건 if num < 2: return num # 1. 기본 동작 return fib(num - 1) + fib(num - 2) num = int(input()) print(fib(num)) 2. 재귀함수 + DP 풀이 # ver 2 def fib(num): # 2. 탈출 조건 if dp[num] == -1: # 한번도 연산된 적이 없다면 dp[num] = fib(num - 1) + fib(num - 2) # 1. 기본 동작 return dp[num] num = int(input()) dp = [-1] * 100 dp[0] = 0 dp[1] = 1 print(fib(num)) 3...
2022.12.22 -
[프로그래머스] 숫자 카드 나누기 문제 풀이(코딩테스트 입문 Lv. 2) - 자바 Java
0. 자세한 설명은 YouTube 영상으로 1. GCD를 활용한 풀이 class Solution { public boolean notDivisible(int[] arr, int num){ for(int n : arr) if(n % num == 0) return false; return true; } public int gcd(int a, int b){ if(a % b == 0)return b; return gcd(b, a % b); } public int solution(int[] arrayA, int[] arrayB) { // 0. 입력 및 초기화 int answer = 0; int gcdA = arrayA[0]; int gcdB = arrayB[0]; // 1. 각 배열의 최대공약수 구하기 for(i..
2022.12.17