[BOJ 6137] 문자열 생성
문제 BOJ 6137 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 문자열을 받아서 맨 앞인덱스와 맨뒤 인덱스부터 시작해서 사전순 더 빠른 알파벳이 있으면 ans에 넣고 만약에 같으면 둘 중 선택했을 때 사전순으로 더 빠른 알파벳이 나오는...
문제 BOJ 6137 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 문자열을 받아서 맨 앞인덱스와 맨뒤 인덱스부터 시작해서 사전순 더 빠른 알파벳이 있으면 ans에 넣고 만약에 같으면 둘 중 선택했을 때 사전순으로 더 빠른 알파벳이 나오는...
문제 BOJ 12865 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 현재 물건(i)에서 현재 무게(j)까지 올 때 까지의 최대 가치를 dp[i][j]를 저장한다. i번째 물건을 넣을 때 j무게까지 넣는 최대 가치가 이전에...
문제 BOJ 21611 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 이 문제에서 놓치기 쉬운 부분은 리스트로 풀면 중간에 구슬을 이동하면서 리스트를 만들고, 구슬을 파괴하는 과정에서 구슬이 없는 경우, 즉 리스트의 사이즈가 0이 되는 경...
문제 BOJ 21610 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 처음에 구름의 좌표가 정해져있으므로 이를 gList에 넣고 아래를 수행한다. 모든 구름이 d방향으로 s칸 이동한다. 처음에 구름리스트 gLis...
문제 BOJ 21609 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 문제를 푸는데는 오래 안걸렸는데 조건을 제대로 안읽어서 디버깅하는데 오래 걸렸다. 주의할 점은 3가지인데, 1) 무지개는 중복 방문 가능하므로 일반블록/무지개일때 방문배...
문제 BOJ 21608 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 실버1이라서 쉬울 줄 알았는데 런타임에러가 나와서 보니까 처음에는 likeCnt!=0 || zeroCnt!=0인 좌표들만 pq에 넣어줬는데 그렇게 되면 마지막 번호이고 ...
문제 BOJ 20057 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 달팽이 숫자로 map을 탐색한다. 그림을 그려보면 이동 칸수가 dist이고 1 1 2 2 3 3… 씩 하나씩 증가하면서 2번 반복한 후 방향이...
문제 BOJ 20056 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 파이어볼의 정보인 좌표, 무게, 속도, 방향을 담은 Fireball클래스를 만들고, 리스트 타입의 2차원 배열에서 다음을 수행한다. k초동안 map[][]을 돌면서...
문제 BOJ 19237 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 처음에 상어,좌표 각각 클래스를 만들어서 관리하려했는데 한 좌표에 여러 상어가 들어오는 경우를 처리하는데 1차 고민함..(리스트로 관리할까 했는데 상어 삭제시에 복잡해졌...
문제 BOJ 19236 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 처음에 상어가 이동할 때 가장 큰 번호를 먹으면 되는줄 알았는데 작은 번호를 먹어도 이후에 더 큰 번호를 먹을 수 있기 때문에 갈 수 있는 모든 경우를 따져봐야 하는 문...
문제 BOJ 16236 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 좌표에 물고기는 가만히 있고 상어가 움직이면서 조건에 따라 상하좌우 움직이면서 물고기를 먹을 수 있는지 판단한다. 1초동안 상어가 갈 수 있는 모든 좌표를 바라보면서 먹...
문제 BOJ 2887 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 처음에 모든 간선이 이어져있다고 가정했는데 현재 문제에서 주어진 최대 정점의 수가 10만개이므로 최대 간선의 수는 10만(10만-1)/2 = 약500억이라 메모리초과가 나...
문제 BOJ 11404 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 모든 정점들에서 모든 정점들까지 가는 최단거리를 구하는 문제이므로 플로이드 워셜 알고리즘을 사용하였다. 1) 인접행렬 map에 간선정보를 저장하고, 자기자신이면 0아니...
문제 BOJ 18310 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 안테나 설치 시 무조건 중앙값을 설치하는것이 유리하다. 따라서 N=짝수,홀수일 때에 따라 중앙값을 구해주면 답이 된다. import java.io.*; import j...
문제 BOJ 1715 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 두 카드묶음을 합한 결과는 계속해서 다음 카드묶음과 합할 때 누적합 되어진다. 따라서 처음에 가장 카드개수가 작은 묶음끼리 더해줘야 마지막 결과가 작게 나온다. 카...
문제 BOJ 1700 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 상황을 다음과 같이 나눠서 접근할 수 있다. 1.전자기기를 순서대로 꽂는데 이때 이미 꽂힌 전자기기이면 continue. 2.아직 안꽂혔다면 꽂을 위치를 찾는다. 2...
문제 BOJ 10825 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 학생 클래스를 만들어서 Comparable로 정렬 기준을 정해주었다. 현재 객체 a와 비교 객체b가 있을 때, compareTo(a, b) 의 결과는 a<b일때 음...
문제 BOJ 18428 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 1.빈칸을 기준으로 장애물 3개를 구하는 함수 comb()를 만든다. 1에서 3개의 좌표를 구했으면, 이 좌표를 기준으로 전체 선생님 좌표를 돌면서 그래프를 탐색한...
문제 BOJ 14888 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 1.+,-,,/에 대한 경우의 수를 순열로 구한다. ⇒ permutation() - +,-,,/가 순서대로 들어오므로 각각 0,1,2,3으로 생각해서 operL...
문제 BOJ 23288 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 문제에 제시된 순서대로 구현하면 쉽게 풀리는 문제이다. 1.좌표를 하나 이동할 때 다음에 갈 곳이 없으면 이동방향을 반대로 바꾼다. 2.좌표 이동 후 주사위도 굴려줘야 ...
문제 BOJ 18405 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 입력값을 받아 map배열에 좌표값을 표시하고, 바이러스인 경우 큐에 모두 넣어준다. 큐에서 꺼냈을 때 번호가 작은 순으로 나오기 위해 우선순위큐를 사용해주었고, C...
문제 BOJ 18352 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 1.입력이 간선정보로 들어오므로 각 번호마다 간선 정보를 저장해줄 Node클래스를 만들어서 각 노드의 간선 정보를 관리할 배열 nums를 생성한다. 2.모든 노드의 가중...
문제 BOJ 18406 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 숫자들을 입력받아서 중간 인덱스를 기준으로 왼쪽 숫자들의 합, 오른쪽 숫자들의 합을 구해 같은지 비교하면 된다. import java.io.BufferedReader;...
문제 BOJ 21611 문제의 저작권은 Baekjoon Online Judge에 있습니다.
문제 BOJ 17779 문제의 저작권은 Baekjoon Online Judge에 있습니다.
문제 BOJ 16935 문제의 저작권은 Baekjoon Online Judge에 있습니다.
문제 BOJ 20058 문제의 저작권은 Baekjoon Online Judge에 있습니다.
문제 BOJ 17406 문제의 저작권은 Baekjoon Online Judge에 있습니다.
문제 BOJ 16927 문제의 저작권은 Baekjoon Online Judge에 있습니다.
문제 BOJ 16926 문제의 저작권은 Baekjoon Online Judge에 있습니다.
문제 BOJ 21610 문제의 저작권은 Baekjoon Online Judge에 있습니다.
문제 BOJ 12100 문제의 저작권은 Baekjoon Online Judge에 있습니다.
문제 BOJ 13460 문제의 저작권은 Baekjoon Online Judge에 있습니다.
문제 BOJ 9461 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 변의 길이는 1,1,2,2,3,4,5,7,9로 증가하며 여기에 규칙을 활용해 점화식을 구할 수 있다. 코드 import java.util.Scanner; //파도반 수...
문제 BOJ 9461 문제의 저작권은 Baekjoon Online Judge에 있습니다.
문제 BOJ 2293 문제의 저작권은 Baekjoon Online Judge에 있습니다.
문제 BOJ 2579 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 현재 계단에서 구할 수 있는 최대값은 이전 계단 or 전전 계단을 선택한 두가지 경우의 수로 구할 수 있다. 이전 계단을 선택한 경우 연속 세개의 계단은 밟을 수 없으...
문제 BOJ 11045 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 위 그림 처럼, 가장 긴 바이토닉 부분 수열이 되는 조건은 1)오름차순 2)내림차순 3)오름차순에서 내림차순인 수열, 이 세가지 수열 중 최대 길이인 경우이다. 그...
문제 BOJ 1300 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 행렬의 원소는 항상 i의 배수가 된다. 이 문제에서 구하고자 하는 것은 K번째에 해당하는 수이므로 K번째 앞에 어떤 숫자가 오든 상관 없이 앞에 몇개가 있는지 생각해주면...
문제 BOJ 12015 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 이 문제는 이분탐색으로 풀 수 있고 접근한 순서는 다음과 같다. 넣어줘야 하는 값num이 현재 리스트의 마지막값보다 크면 그 뒤에 바로 넣어준다. if (...
문제 BOJ 2110 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 인접한 두 공유기 사이의 최대 거리를 mid로 두고 이분탐색을 한다. 집 거리가 저장된 배열에서 mid로 몇개의 공유기를 설치할 수 있는지 구한다. 만약 설...
문제 BOJ 14500 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 문제에 있는 5가지 모양을 잘 조합해서 최대값을 구하는 문제이다. 2차원 배열에서 한 좌표를 기준으로 DFS를 4칸 돌리면 보기에 있는 모양이 회전,반전되어 구할 수 있...
문제 BOJ 2178 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 처음에 아무 의심없이 DFS로 풀었다가 1시간 이상 시간초과로 삽질한 문제이다.. 이 문제에서 요구하는 것은 최단 거리이므로 DFS를 사용해서 풀면 모든 경로의 경우의 ...
문제 BOJ 1655 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 이 문제는 풀기 전에 최소힙, 최대힙에 대한 개념 이해를 해야 풀 수 있는 문제이다. 첫 접근은 리스트에 값을 넣어줄때마다 정렬해서 가운데값을 구해주는 것으로 생각했는데,...
문제 BOJ 16234 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 DFS로 풀어주었다. map을 돌면서 아직 방문하지 않았다면 dfs()호출해서 이 좌표와 연결되는 나라를 찾는다. dfs함수 내에서 방문처리하고 연결된 나라 개...
문제 BOJ 17825 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 조건이 굉장히 까다롭고 헷갈리는 문제이다. 며칠동안 고민하다가 도저히 해결책이 떠오르지 않아 여러 코드를 참고할 수 밖에 없었다. 배열, 링크드리스트로 푸는 방법 중 다...
문제 BOJ 3190 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 수업시간에 안풀고 오늘 처음 풀어봤는데 정답률에 비해 큰 함정은 없던 문제이다. 1초동안 해야할 일은 크게 두가지이다. 뱀을 이동시키고 사과가 있으면 길이 증가,...
문제 BOJ 20056 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 코드 import java.io.*; import java.util.*; public class Main { static int N,M,K; static List...
문제 BOJ 1541 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 그리디라기 보다는 문자열함수를 잘 적용할 수 있는지 묻는 문제인것 같다. split()함수를 사용하면 된다. 예를 들어, 55+50-40+30-10의 최소값을 구하기 위...
문제 BOJ 14503 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 이 문제는 재귀로 해결했으며, 호출한 시점으로 다시 돌아오지 않으므로 함수 호출 후 다음 라인에 return을 꼭 해줘야한다. 해결해야 하는 순서대로 코드를 짜면 되므...
문제 BOJ 14499 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; i...
문제 BOJ 13458 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; i...
문제 BOJ 20057 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; i...
문제 BOJ 16235 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; i...
문제 BOJ 17143 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 SWEA 미생물 격리와 비슷하게 접근할 수 있던 시뮬레이션 문제이다. 현재 맵에 있는 상어 번호를 관리할 map배열, 상어 정보를 관리할 sharks배열이 필요하다...
문제 BOJ 17281 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 삼성 상시 SW 역량테스트 A형 기출문제이다. 처음에 야구룰을 하나도 모르기 때문에 문제를 이해하는데 상당한 시간이 필요했다…(물론 검색도 필수였음😭) 코드
문제 BOJ 1913 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 20년도 하반기 삼성 역량 테스트 1번 문제를 풀기 위해 반드시 풀 수 있어야할 문제이다. 1달 전에는 잘 풀었으면서 왜 막상 시험장에선 생각이 나지 않았을까…?ㅠㅠ 코드
문제 BOJ 19238 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 BFS+시뮬레이션 문제이다. 아직 풀지 못한 아기상어 보다는 어떻게 구현해야 할지 답이 왔다. 그러나 생각해야할 조건들이 있어서 함정에 빠지기 쉽다. 내가 생각한 구...
문제 BOJ 14889 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 전체 인원 N명을 N/2명씩 나눠줘야 한다. 이때 N=6이고 1,2,3번을 뽑으면 4,5,6은 자동으로 결정되기 때문에 뒤의 경우의 수는 따로 구해줄 필요가 없다....
문제 BOJ 17144 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 한달전 쯤 풀었었는데 스터디를 하면서 한번 더 풀어본 문제이다. 그래서인지 쉽게 생각할 수 있었고 코드도 이전에 비해 더 간결해졌다. 코드 import java....
문제 BOJ 15686 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 한달전에 한번 풀었던 문제라 쉽게 풀린 문제였다. 전체 치킨집 중 M개를 뽑은 각 경우의 수에서 집으로 부터 치킨거리를 구하고 이를 합한 도시의 치킨거리를 순서대로 구하...
문제 BOJ 14502 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 빈칸 중 벽을 세울 3개를 조합함수comb()를 실행하며 뽑는다. 경우의수를 뽑으면 이때 바이러스가 퍼지는 함수 go()를 실행한다. 초기 바이러스 좌표들을 담은 바이러...
문제 BOJ 2635 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 두번째 수는 첫번째 수를 반으로 나눈 후 +1한 값부터 시작한다. 왜냐하면 첫번째수를 반으로 나눈 수를 포함한 전까지는 무조건 네번째 수가 무조건 음수가 나오므로 계산할 ...
문제 BOJ 2628 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 이런 유형의 문제는 항상 생각하는게 시간이 오래 걸린다. 오히려 알고리즘을 사용하는 문제면 답이 보이지만, 이런 구현 문제는 어떻게 해결해야 할지 답이 명확히 안보이기 때...
문제 BOJ 2559 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 코드
문제 BOJ 2669 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 색종이문제와 거의 유사한 문제이다. 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import ja...
문제 BOJ 10163 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 2차원 배열map을 만든 후 다음 색종이가 입력되면 해당하는 색종이 면적의 좌표를 새로운 색종이 번호로 덮어 씌운다. 그리고 이 색종이 번호를 인덱스로 하는 1차원 배열...
문제 BOJ 2563 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 색종이의 넓이를 담아줄 2차원 배열 map을 만들어서 꼭지점 좌표가 입력될 때 마다 이를 기준으로 만들어진 넓이 부분의 좌표를 true로 표시해준다. 이때 가로 세로길이는...
문제 BOJ 14696 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 입력을 받으면서 a카드배열과 b카드배열을 만든 후 카드 번호가 큰 순서대로 비교를 해서 개수가 더 많은 쪽을 찾으면 for문을 중단하고 이긴 사람을 출력한다. 무승부를 ...
문제 BOJ 13300 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 2차원 배열을 만들어서 첫번째 인덱스 배열의 크기는 7로 지정하고 1학년~6학년인 학생의 정보를 담는다. 두번째 인덱 배열의 크기는 2로 지정하고 여학생일때 0, 남학생...
문제 BOJ 2491 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 for문을 2개 돌릴 필요 없이 증가하는 경우, 감소하는 경우 두가지로 나누어 계산해서 각각에서 구할수 있는 수열의 최대 길이를 구하면 된다. 2중 for문을 사용하는 경...
문제 BOJ 9205 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 어떤 편의점을 먼저 선택할지 상관 없이 페스티벌에 도착하기만 하면 된다. 따라서 모든 좌표들을 배열에 넣고 방문할 좌표를 넣을 큐를 만든다. 그리고 큐에서 꺼낸 좌표를 현...
문제 BOJ 2564 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 이 문제는 조건이 많기 때문에 초기에 계획을 세우는데 오래 걸릴 수 있다. 직사각형이라고 생각하지 않고 0,0을 기준으로 직선으로 펴서 각 상점이 0,0으로 부터 각 얼마...
문제 BOJ 2605 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 차근차근 생각해보면 쉽게 풀리는 문제인데 머릿속으로 계산하려고 하니 난이도에 비해서 오래 걸렸던 문제이다. 배열로 처음 학생들이 가진 번호를 입력받고, 그 크기만큼의 새로...
문제 BOJ 2309 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 9명의 일곱난쟁이 중 7명을 뽑으면서 각 합이 100이 되는 경우 뽑기를 중단하도록 조합함수를 작성해주었다. 작은 수부터 차례대로 더해주기 위해서 난쟁이를 배열에 입력받은...
문제 BOJ 1463 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 DP유형 중 쉬운 난이도의 문제이다. 숫자가 1보다 큰 경우에 연산을 하는 함수DP()를 호출한다. 숫자가 3또는 2로 나누는 경우, 1로 빼는 경우로 총 3가지의 경우의...
문제 BOJ 17472 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 먼저 입력값을 map[][]에 담고 for문을 돌면서 땅마다 각 섬의 번호를 붙여준다. 이때 BFS를 사용해서 각 섬에 있는 땅 좌표들을 찾아주고 리스트lands에 저장...
문제 BOJ 1197 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 MST의 대표적인 문제로 암기될 때까지 반복해서 공부하면 좋다! 1. 프림알고리즘</br> 연결된 정점의 정보를 저장하는 연결리스트와 우선순위큐를 사용해 구현하...
문제 BOJ 17417 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 코드
문제 BOJ 1008 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 float형의 상대오차는 10^-7, double형의 상대오차는 10^-15정도이다. 따라서 double을 써줘야 틀리지 않는다. 코드 import java.io.Buf...
문제 BOJ 1786 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 코드
문제 BOJ 2615번 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 코드
문제 BOJ 7562 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 BFS를 사용해서 풀린 문제이다. 다른 문제와 마찬가지로 for문을 돌면서 얻은 다음 좌표가 범위 안에 있고, 아직 방문하지 않았다면 큐에 넣고 다시 다음 좌표를 검사하는...
문제 BOJ 11724 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 나는 DFS로 문제를 해결했다. 그래프의 간선 유무를 담은 map배열을 만들었다. 그리고 for문을 돌면서 1번 정점부터 시작해서 dfs()함수에서 방문을 표시해주고 이...
문제 BOJ 2606 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 코드
문제 BOJ 1260 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 그래프를 DFS, BFS탐색해볼 수 있는 좋은 문제이다. 코드는 이미 공부한 내용이니 안보고 술술 적을 수 있도록 익숙해지자! 코드 import java.io.Buf...
문제 BOJ 2468 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 코드
문제 BOJ 2961 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 코드
문제 BOJ 1931 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 코드
문제 BOJ 7576 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 코드
문제 BOJ 4963번 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 for문으로 map배열을 돌면서 집을 발견하고 아직 방문하지 않은 경우 큐에 좌표값을 넣어준다. 그리고 visited배열에 집 번호를 넣어줌으로써 방문했음을 표시해준다....
문제 BOJ 2667번 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReade...
문제 BOJ 2493 문제의 저작권은 Baekjoon Online Judge에 있습니다. 접근방식 코드
문제 SWEA 1767 문제의 저작권은 SW Expert Academy에 있습니다.
문제 SWEA 5656 문제의 저작권은 SW Expert Academy에 있습니다.
문제 SWEA 5653 문제의 저작권은 SW Expert Academy에 있습니다.
문제 SWEA 5658 문제의 저작권은 SW Expert Academy에 있습니다.
문제 SWEA 2105 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 DFS로 먹을 수 있는 디저트 경로를 따라가면 되므로 쉽게 생각했지만, 코드를 작성하다가 중간에 디저트를 언제 먹을지 처리해주는 과정에서 시간이 오래 걸린 문제이다. 해결한...
문제 SWEA 1868 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 부끄럽지만 문제를 이해하는데 꽤 오랜 시간이 걸렸던 문제이다. 이 문제는 크게 2단계로 접근해볼 수 있다. 2중 for문을 돌면서 지뢰가 아닌 부분을 8방향 탐색해서 숫...
문제 SWEA 1953 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 DFS(예정) BFS 나는 아직 BFS가 익숙하기 때문에 큐를 사용해서 문제를 해결했다. 터널좌표의 정보를 담아줄 클래스 Point를 좌표 r,c, 갈 수 있는 터널방향을...
문제 SWEA 5644 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 DFS(예정) BFS 코드 1. DFS 예정 2. BFS
문제 SWEA 2382 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 이 문제는 시뮬레이션으로 문제에 주어진 조건을 크게 2가지로 나누어 생각하였다. 미생물 이동 군집이 이동할 다음 좌표가 약품에 닿으면 절반으로 줄어들고 방향을 바꾼다. 각...
문제 SWEA 1952 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 처음에 조합으로 접근해서 전체 12개월 중 3달요금으로 사용할 달을 뽑은 후, 나머지 달을 또 일or월요금으로 사용하는 경우로 생각하려고 했다. 그러나 코드가 점점 복잡해지면서...
문제 SWEA 1824 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 DFS(예정) BFS 코드 1. DFS 예정 2. BFS
문제 SWEA 3124 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 코드
문제 SWEA 4012 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 음식A,B를 N/2개씩 나누는것에서 출발하기 때문에 음식A를 만들게 되면 그 나머지는 B가 된다. 따라서, 음식A를 N/2개 만드는 조합을 재귀를 돌면서 selcted[]에 t...
문제 SWEA 3234 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 접근 방식은 크게 순열을 구한 후, 이 순열을 왼쪽에 넣는 경우와 오른쪽에 넣는 경우로 나누어 생각할 수 있다. 그래서 함수를 두개 만들 수 있지만 아래 코드는 합쳐진 코드이다...
문제 SWEA 1247번 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 회사좌표와 집좌표는 고정되므로 집좌표들의 순열을 구하고 나서 각 거리를 계산해 최소 거리를 구하면 되는 문제이다. 순열을 만들어야 하는 이유는 예를 들어 A→B→C와 B→C→...
문제 SWEA 7773번 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 코드
문제 SWEA 1258 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 코드
문제 SWEA 4301번 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 코드
문제 SWEA 3124번 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 코드
문제 SWEA 3289번 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 코드
문제 SWEA 1238번 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 이 문제는 그래프를 탐색하므로 BFS, DFS 두가지 방법으로 풀 수 있다. 1. BFS 코드 import java.io.BufferedReader; import java...
문제 SWEA 9229번 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 과자의 개수만큼 배열을 만들어 입력받은 각 과자를 저장한 후, 하나씩 인덱스를 돌면서 바로 다음 인덱스와 더한 값이 가장 최대값이면서 M을 넘지 않도록 한다. for문으로 돌...
문제 SWEA 1233번 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 이 문제는 수식트리 문제이다. 수식트리의 특징을 떠올려보면 루트노드나 가지노드는 항상 연산자여야하며 2개의 피연산자인 자식 노드를 가져야 한다. 그리고 러프노드는 항상 피연산...
문제 SWEA 3499 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 코드
문제 SWEA 1861 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 코드
문제 SWEA 1223번 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; i...
문제 SWEA 1225 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 이 문제는 큐를 사용하여 푸는 문제이다. 입력받은 숫자를 모두 큐에 넣는다. 여기서 첫번째 숫자부터 다섯번째 숫자 각각을 1에서 5까지 감소킨 후 맨 뒤에 넣어주어야 하므로 1...
문제 SWEA 1218 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 문자열을 입력받아 스택에 하나씩 넣어주는데 이때 열린 괄호이면 넣어주고, 닫힌 괄호일 경우에는 스택에 넣지 말고 스택의 맨 위에 있는 열린 괄호를 pop()해서 닫힌 괄호와 일...
문제 SWEA 0898번 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 이 문제는 순열과 관련된 문제이다. 문제에서 1부터 18까지의 카드를 각자 9개씩 나누어 가진다고 하고 규영이는 9개의 고정된 입력값이 들어온다. 따라서 전체 카드에서 규영이...
문제 SWEA 2805번 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 각 행에서 가운데 열(N/2)을 기준으로 앞 뒤로 +1, -1 하면서 합을 구해주면 되는 문제이다. 행이 N/2인 지점을 기준으로 위, 아래로 나누어 코드를 작성했다. 먼저 ...
문제 SWEA 1873번 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 나는 처음에 명령어가 하나씩 입력될때 마다 맵에 ‘^’, ‘v’, ‘<’, ‘>’ 의 방향을 계속 바꿔주어야 한다고 생각했다. 그래서 처음에 명령어가 1. 방향인 ...
문제 SWEA 1954번 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 처음엔 1210번과 마찬가지로 현재 좌표에서 우->하->좌->상을 모두 돌면서 다음 좌표가 범위 안에 있고 값이 비어있으면 이동하는식으로 구현하려고 했다. 그...
문제 SWEA 1210번 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 시간이 꽤 오래 걸렸던 문제였다. 먼저 어떻게 접근을 하면 좋을지 고민을 많이 했는데 도착점과 이어지는 출발점을 구하는것이므로, 반대로 생각하여 도착점에서부터 거꾸로 출발점...
문제 SWEA 1208번 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 처음에 생각할때는 그림이 2차원 배열이기 때문에 복잡하게 2차원으로 풀어야겠다는 생각을 했다. 그래서 높이가 있는 인덱스에는 1값을 넣어주고 순회해서 계산해야지~ 라고 생각했...
문제 SWEA 1289번 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 0000과 원래 입력한 값 num을 비교해줘야 한다. 이때, 한글자씩 비교해줘야 하므로 처음 num을 입력받을 때 String으로 입력받은 후 charAt()을 이용해 한글자...
문제 SWEA 2043번 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 K가 P와 같아질때까지 K를 하나씩 증가시켜주고 이때 횟수 Ans도 하나씩 증가시켜준다. 코드 package swea; import java.util.Scanner; p...
문제 SWEA 2001번 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 N x N배열의 0,0부터 돌면서 M x M영역 안에 있는 숫자를 모두 더해준다. 이때 검색 전, 행인덱스 i+x와 열인덱스 j+y의 범위가 N x N안에 있는지 항상 확...
문제 SWEA 1986번 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 처음 시작은 항상 1이므로 1을 값으로 하는 변수 ans를 생성하고, 2부터 N까지 -,+를 번갈아 연산한다. 이때, 짝수일 경우 -연산을 하므로 이를 조건식으로 걸어 +와 ...
문제 SWEA 1945번 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 나눠줄 약수를 담을 배열 decimal을 만든 후, for문을 돌려서 차례대로 N을 나눠준다. 나머지가 0이 될때까지 나눠준 후, 배열 decimal의 순서에 맞게 나눈 횟수...
문제 SWEA 1933번 문제의 저작권은 SW Expert Academy에 있습니다. 접근방식 입력받은 N의 약수의 최대 개수는 N보다 클 수 없다. 따라서 최대 1부터 N까지 담기 위해 크기가 N+1인 배열을 만들어 N의 약수만을 담는다. 1부터 N까지 차례대로 %연...
영속성 컨텍스트, 프록시와 즉시로딩/지연로딩
연관관계 매핑(단방향, 양방향)
Maven과 Gradle 비교
JPA 기초와 매핑
사이트에 https를 적용해야 하는 이유? 웹사이트를 https로 전환해야 하는 이유에는 여러가지가 있다. 구글, 파이어폭스부터 브라우저를 https로 전환하고 있는데 그 이유가 무엇일까? https를 사용하게 되면 서버와 브라우저 사이에 암호화 연결을 만들수 있고 민감한 정보를...
Jenkins에서 빌드수행 시 다음과 같은 에러문구가 뜨면서 상태가 Unstable으로 뜨는경우가 있다.
maven 빌드 시 테스트파일때문에 종종 에러가 나는 경우가 있다. 분명 sts에서 돌렸을때는 잡히지 않았던 오류가 빌드파일 생성시 나타난다면 다음 방법을 시도해볼만하다. 방법은 총 3가지가 있는데 이 중 하나 선택하면 된다. 나는 3번으로 하니 더이상 빌드fail이 뜨지 않았다.
Nginx를 사용해서 AWS EC2환경에 웹프로젝트를 배포하는 방법을 정리하려고 한다.
JSON데이터와 파일을 함께 axios요청하는 방법
Spring에서 AWS S3연동, 사용법
POSTMAN 사용법
RestAPI 정리
GSON,Jackson 라이브러리
자바 컬렉션 정리
클라이언트에서 제이쿼리 요청을 받아서 서블릿에서 처리 후 json데이터를 다시 응답하려고 할때 한글 데이터가 포함되어 있는 경우 ???와 같이 제대로 받지 못하게 된다. 이럴 경우 Servlet과 응답을 받는 페이지에 아래 코드를 추가해주어야 한다. Serlvet 페이지 Gso...
Java 개념 총정리 02
Java 개념 총정리 01
이클립스로 디버깅하기
char -‘0’, Character.getNumericValue(s.charAt(i))
표준입출력, BufferedReader, BufferedWriter, Scanner
표준입출력, BufferedReader, BufferedWriter, Scanner
개념
개념 큰 문제를 여러개의 작은 문제로 나눠서 푸는 알고리즘 메모이제이션을 이용하면 큰 문제로부터 빠른 속도로 최적의 해를 찾아낼 수 있다. DP의 대표 예시인 피보나치 수열에서 7번째 값을 구하고 싶다고 가정하면, 위 그림과 같이 중간에 중...
개념 데이터가 정렬된 배열에서 가운데값을 기준으로 특정한 값을 찾아내는 탐색 알고리즘 이분 탐색을 하기 위해서는 반드시 데이터가 정렬된 상태여야 한다. 시간복잡도 O(logN) 순서 배열을 오름차순으로 정렬한다. {17, 28, 43,...
개념 주어진 문제를 작은 사례로 나누고(Divide) 각각의 작은 문제들을 해결하여 정복(Conquer)하는 방법 하향식(Top-down) 접근방법 👍장점 문제를 나눔으로써 어려운 문제 해결 가능 병렬적으로 문제를 해결하는데 큰 강점 👎단점 함수 재귀 호...
개념 들어간 순서에 상관 없이 우선순위가 가장 높은 데이터가 가장 먼저 나온다. 기본적으로 숫자가 낮을 수록 우선순위가 높다. ⇒ 최소 힙 일반적으로 힙으로 구현함 큐 클래스 처럼 add(), peek(), poll() 등의 메소드 사용이 가능하다. 예시) 병원...
개념 데이터에서 최대값(or 최소값)을 빠르게 찾을 수 있는 완전 이진 트리 우선순위가 가장 높은 데이터가 제일 앞(루트)에 위치한다. 모든 부모 노드는 자식노드보다 우선순위가 크다. 시간복잡도는 O(logN)이므로 삽입/삭제가 매우 빠르다. 대표적으로 최소힙(M...
문제 문제의 저작권은 ‘이것이 코딩테스트다’ 교재에 있습니다. 한 마을은 N개의 집과 M개의 도로로 구성되어 있다. 각 집은 0~N-1번까지의 번호로 구분된다. 모든 도로에는 가로등이 구비되어 있는데, 특정한 도로의 가로등을 하루 동안 켜기 위한 비용은 해당 도로의 길이와...
문제 문제의 저작권은 ‘이것이 코딩테스트다’ 교재에 있습니다. 한울이가 사는 나라에는 N개의 여행지가 있으며, 각 여행지는 1 ~ N번까지의 번호로 구분된다. 또한 임의의 두 여행지 사이에는 두 여행지를 연결하는 도로가 존재할 수 있다. 이 때, 여행지가 도로로 연결되어 ...
문제 문제의 저작권은 ‘이것이 코딩테스트다’ 교재에 있습니다. 동빈이는 숨바꼭질을 하면서 술래로부터 잡히지 않도록 숨을 곳을 찾고 있다. 동빈이는 1 ~ N번까지의 헛간 중에서 하나를 골라 숨을 수 있으며, 술래는 항상 1번 헛간에서 출발합니다. 전체 맵에는 총 M개의 양...
문제 문제의 저작권은 ‘이것이 코딩테스트다’ 교재에 있습니다. 당신은 화성 탐사 기계를 개발하는 프로그래머다. 그런데 화성은 에너지 공급원을 찾기가 힘들다. 그래서 에너지를 효율적으로 사용하고자 화성 탐사 기계가 출발 지점에서 목표 지점까지 이동할 때 항상 최적의 경로...
문제 문제의 저작권은 ‘이것이 코딩테스트다’ 교재에 있습니다. 선생님은 시험을 본 학생 N명의 성적을 분실하고, 성적을 비교한 결과의 일부만 가지고 있다. 학생 N명의 성적은 모두 다른데, 다음은 6명의 학생에 대해 6번만 성적을 비교한 결과입니다. 1번 성적 < ...
문제 문제의 저작권은 ‘이것이 코딩테스트다’ 교재에 있습니다. 알파벳 대문자와 숫자 (0~9)로만 구성된 문자열이 입력으로 주어집니다. 이때 모든 알파벳을 오름차순으로 정렬하여 이어서 출력한 뒤에, 그 뒤에 모든 숫자를 더한 값을 이어서 출력합니다. 예를 들어 K1KA...
리액트 기본 개념
리액트 소개와 툴 정리
npm run serve시 갑자기 다음 에러 문구가 발생했다.
Random()함수 자바스크립트에서 Random()함수를 이용해 난수를 만들어 보자. 1. 0이상 1미만 난수 생성하기 let result = Math.floor(Math.random()); 2. 두 값 사이의 정수 난수 생성하기 예를들어 1~3사이의 난수를 생성하고 싶다면,...
문제 Programmars 42889 문제의 저작권은 Programmars에 있습니다. 접근방식 1.현재 스테이지에 있지만 아직 클리어하지 않은 플레이어 수를 저장한다 → int[] ing_players 2.현재 스테이지를 도달했던 총 플레이어 수를 구한다. 여기서 현...
문제 Programmars 60059 문제의 저작권은 Programmars에 있습니다. 접근방식 문제의 순서대로 구현해주었다. ex)문자열 p=”()))((()”일 때 문자열을 앞에서부터 여는 괄호 개수 sCnt와 닫는 괄호 eCnt가 같을때까지 탐색한다. 이...
문제 Programmars 60059 문제의 저작권은 Programmars에 있습니다. 접근방식 1.먼저 다음과 같이 M=3, N=4인 key와 lock이 있다고 가정한다. 2.key를 lock위에서 이동시키면서 lock의 홈을 채울수 있는지 확인해야한다....
문제 Programmars 60057 문제의 저작권은 Programmars에 있습니다. 접근방식 문자열을 최대로 나눌 수 있는 크기는 길이/2이다. 나눌 수 있는 크기만큼 돌면서 경우의 수를 구해준다. for (int size = s.length() / 2; ...
Mermaid 라이브러리 차트와 같은 그래프를 보여주는 마크다운 엔진 [공식 문서]
실시간 서버로 변경 사항 확인하기 bundle exec jekyll serve
[처음]레파지토리 -> 내 컴퓨터 가져올때 git clone 레파주소 Repository 변경하고 싶을 때 git remote add origin 주소 레파지토리 -> 내 컴퓨터 가져올때 레파 변경 후, git status git pull origin ma...
, >=, <, <= 사용하기
ER 다이어그램 생성,
우분투에서 서버실행시 가끔 포트번호가 충돌되는 경우가 있다. 내가 원하는 포트번호를 다음과 같이 찾을 수 있다.
우분투에서 설치된 MySQL를 삭제하기 위해서 sudo dpkg --get-selections | grep mysql을 입력한 후 설치된 목록을 확인했다. 여기서 dpkg --purge mysql-client-core-8.0로 삭제하면 다음과 같이 에러가 발생했다.
파이썬을 이용한 웹크롤링을 이해하고 주요 개념 정리
Node.js, Express.js, Mongo DB 다운로드
리눅스의 특징과 장점, 리눅스 역사와 운영체제 기술, 리눅스 설치
아키텍쳐에서 정보 요구