일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 객체프로그래밍이란
- 프로그래머스
- 카카오코딩테스트
- 카카오1차
- 카카오코테
- 자료구조 트리
- 문자열포맷
- 백준 1000번
- 자바문자열
- 백준 1924번 java
- 알고리즘
- heap정렬
- Java heap
- heap
- 공부정리
- 자료구조힙
- 코딩테스트기출
- 카카오기출
- java
- 객체프로그래밍
- 코테준비
- 프렌즈4블록java
- 백준 1924번
- 백준
- 자바
- 프렌즈4블록
- java method
- 백준 1000번 java
- 힙정렬자바
- 개발상식
- Today
- Total
목록CS/알고리즘 풀이 (49)
일단 시작해보는 블로그
import java.util.*; class Solution { public int solution(int n, int[][] computers) { int answer = 0; Node[] graph = new Node[n+1]; for(int i=1; i
https://programmers.co.kr/learn/courses/30/lessons/43163 코딩테스트 연습 - 단어 변환 | 프로그래머스 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 있습니다. 2. words에 있는 단어로만 변환할 수 있습니다. 예를 들어 begin이 hit, target가 cog, words가 [hot,dot,dog,lot,log,cog]라면 hit -> hot -> dot -> dog -> programmers.co.kr import java.util.*; class Solution { pub..
https://programmers.co.kr/learn/courses/30/lessons/42898# 코딩테스트 연습 - 등굣길 | 프로그래머스 계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다. 아래 그림은 m = 4, n = 3 인 경우입니다. 가장 왼쪽 위, 즉 집이 있는 곳의 좌표는 (1, 1)로 나타내고 가장 오른쪽 아래, 즉 학교가 있는 곳의 좌표는 (m, n)으로 나타냅니다. 격자의 크기 m, n과 물이 잠긴 지역의 좌표를 담은 2차원 배열 puddles이 매 programmers.co.kr 생각 (1, 1)부터 (i, j)까지의 최단 경로 개수 .... (1, 1..
https://programmers.co.kr/learn/courses/30/lessons/49189 코딩테스트 연습 - 가장 먼 노드 | 프로그래머스 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr 프로그래머스 코드 import java.util.*; class Graph { class Node{ int data; LinkedList adjacent; boolean marked; int count; Node(int data, int count) { this.data = data; this.marked = false; adjacent = new LinkedList(); this.count = count; } } ..
class Solution { static int endIndex; static int answer; public static void recursion(int i, int sign, int target, int[] numbers, int sum) { if(i > endIndex) return; sum += (sign * numbers[i]); if(i == endIndex) { if(target != sum) return; answer++; return; } recursion(i+1, 1, target, numbers, sum); recursion(i+1, -1, target, numbers, sum); } public int solution(int[] numbers, int target) { answ..
방탄소년단의 팬카페를 둘러보고 싶었는데 초성으로 노래를 찾아내라는 문제가 있었다. 생각보다 구글링도 안되고 너무 어려워서 한번 구현해보자 생각을 했다. class Main { public static void main(String[] args) { String lyric = "첫눈에 널 알아보게 됐어\n" + "서롤 불러왔던 것처럼\n" + "내 혈관 속 DNA가 말해 줘\n" + "내가 찾아 헤매던 너라는 걸\n" + "\n" + "우리 만남은 수학의 공식\n" + "종교의 율법 우주의 섭리\n" + "내게 주어진 운명의 증거\n" + "너는 내 꿈의 출처\n" + "Take it take it\n" + "너에게 내민 내 손은 정해진 숙명\n" + "\n" + "걱정하지 마 love\n" + "이 모든..
import java.util.*; class Solution { static Set combinationList = new HashSet(); // 소수 판별하기 boolean public static boolean isPrimeNumber(int N){ // 소수는 2부터 시작한다. //System.out.println(N); if(N
DFS, 재귀 import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 지도의 크기를 담은 int 배열 // 지도는 n x n 이다. int n = sc.nextInt(); sc.nextLine(); // nextInt() 즉, 정수를 입력 받은 후, nextLine()을 써줘야한다. // 지도 상, 단지가 있으면 1, 없으면 0 int[][] dangi = new int[n][n]; // 방문했는지 체크하는 배열 // 방문했으면 true, 아직 방문 안했거나 못할 조건이면 false boolean[][] visited = new boolean[n..