분류 전체보기
-
다익스트라(Dijkstra) 구현_Java코딩테스트/SWEA_Java 2023. 2. 25. 14:55
import java.util.PriorityQueue; class Solution { static int INF = 987654321; static int MAX_N = 6; static class Pair implements Comparable{ int x, y; Pair(int x, int y){ this.x = x; this.y = y; } @Override public int compareTo(Pair o) { if (o.x == this.x) return this.y - o.y; else return this.x - o.x; } } static int graph[][] = new int[][]{ {0,2,5,1,INF,INF}, {2,0,3,2,INF,INF}, {5,3,0,3,1,5}, {1..
-
Q. 1767 자바 : 프로세서 연결하기코딩테스트/SWEA_Java 2023. 1. 31. 23:17
문제 : https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV4suNtaXFEDFAUf&categoryId=AV4suNtaXFEDFAUf&categoryType=CODE&problemTitle=1767&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 아래의 단계로 나눠서 풀었던 것으로 기억한다. 1. 먼저 벽에 붙어있지 않은 Core들의 좌표를 List에 저장 2. 코어에 전선을 연결하는 방법 상 하 좌 우를 dy, dx 배열을 이용해 구분하고 이를 dfs 함수로 실행 (반환 조건은 CoreList를 모두 탐색했을 경우) ..
-
Q. 3316 자바 : 동아리실 관리하기(D4)코딩테스트/SWEA_Java 2023. 1. 22. 22:52
문제: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWBnFuhqxE8DFAWr D4 난이도의 문제이고, DP, 메모제이션을 이용한 문제이다. 최근에 DP 알고리즘을 공부중이긴 하지만, 문제를 보고 A, B, C, D를 비트로 변경해서 저장하는 방법까지는 접근을 했지만 이후 꽤 오랜 시간동안 고민했지만 푸는 방법을 모르겠어서 다른분들의 코드를 참고해서 내 방식으로 바꿔서 풀었다. 먼저 A, B, C, D의 포함 여부를 4개의 비트로 쪼개서 생각한다. 만약 A만 동아리 활동에 참여할 경우 0001(2), D와 A가 참여할 경우 1001(2) = 9(10)으로 생각하면 된다. 이런식으로 데이터를 다룬다고 생각한 다..
-
삼성 DX 알고리즘 역량 강화 특강 지원코딩테스트/SWEA_Java 2023. 1. 12. 22:57
https://samsungalgorithm.com/ 코딩테스트 준비를 한지 좀 되기도 했고 백준에서 보여주는 solved.ac 티어도 저번주에 달성을 했는데, 마침 운이 좋게 삼성에서 알고리즘 특강을 하는 것을 보고 지원했습니다. 1/7(토) ~ 1/11(수) 까지 사전 문제 풀이인 코딩 테스트를 진행했고 아직 결과는 나오지 않았지만, 출제된문제는 모두 Pass 해서 아마 좋은 결과가 있을 것이라고 생각됩니다. 백준을 통한 코딩테스트 연습이 아닌, 실제로 코딩테스트가 진행되는 환경인 것 같았는데 백준은 문제 난이도에 따라 다르지만, 어느정도 시간을 쓴 뒤에도 문제가 풀리지 않으면 다른 블로그 글을 검색해 문제 풀이 방식을 참고할 수 있었지만 이번 진행한 코딩테스트는 제가 원래 백준에서 하던 방식과 차이..
-
Q. 1987 자바 : 알파벳(G4)카테고리 없음 2023. 1. 12. 16:01
문제 : https://www.acmicpc.net/problem/1987 더보기 문제 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으로 이동할 수 있는데, 새로 이동한 칸에 적혀 있는 알파벳은 지금까지 지나온 모든 칸에 적혀 있는 알파벳과는 달라야 한다. 즉, 같은 알파벳이 적힌 칸을 두 번 지날 수 없다. 좌측 상단에서 시작해서, 말이 최대한 몇 칸을 지날 수 있는지를 구하는 프로그램을 작성하시오. 말이 지나는 칸은 좌측 상단의 칸도 포함된다. 입력 첫째 줄에 R과 C가 빈칸을 사이에 두고 주어진다. (1 ≤ R,C ≤ 20) 둘째 줄부터 R개의..
-
Q.11559 자바 : Puyo Puyo(G4)코딩테스트/백준_Java 2023. 1. 10. 23:30
문제 : https://www.acmicpc.net/problem/11559 일하면서 풀어서 2일정도 걸려서 풀게 된 문제이다. 이 문제를 풀고 있을 때 코딩테스트를 모르는 친구가 코딩테스트가 뭐냐? 라고 물어본적이 있는데 이 문제 설명을 읽게 하니까 이해를 했다고 하면서 왜 이런걸 푸냐고 하긴 했다. 개인적으로 푸는 과정 자체는 상당히 고통스럽기도 하고 한 2~3일정도(일하면서) 박치기를 하다 보면 찾아보고 싶은 욕구를 참기가 꽤나 힘들다. 하지만 풀었을 때의 그 성취감이 상당하기 때문에 그리고 코딩테스트를 보는 기업이 많으므로 준비하고 있다. 문제 더보기 뿌요뿌요의 룰은 다음과 같다. 필드에 여러 가지 색깔의 뿌요를 놓는다. 뿌요는 중력의 영향을 받아 아래에 바닥이나 다른 뿌요가 나올 때까지 아래로 ..
-
Q.16973 자바 : 직사각형 탈출(G4)코딩테스트/백준_Java 2023. 1. 4. 14:30
문제 : https://www.acmicpc.net/problem/16973 더보기 크기가 N×M인 격자판에 크기가 H×W인 직사각형이 놓여 있다. 격자판은 크기가 1×1인 칸으로 나누어져 있다. 격자판의 가장 왼쪽 위 칸은 (1, 1), 가장 오른쪽 아래 칸은 (N, M)이다. 직사각형의 가장 왼쪽 위칸은 (Sr, Sc)에 있을 때, 이 직사각형의 가장 왼쪽 위칸을 (Fr, Fc)로 이동시키기 위한 최소 이동 횟수를 구해보자. 격자판의 각 칸에는 빈 칸 또는 벽이 있다. 직사각형은 벽이 있는 칸에 있을 수 없다. 또한, 직사각형은 격자판을 벗어날 수 없다. 직사각형은 한 번에 왼쪽, 오른쪽, 위, 아래 중 한 방향으로 한 칸 이동시킬 수 있다. 직사각형의 크기와 좌표를 주고, 장애물을 피해 원하는 좌표..
-
코틀린 스터디 회고Study(종료)/Kotlin 22.09.13 ~ 12.18 2023. 1. 3. 22:11
1장 :강력하고 실용적인 코틀린 ~ 14장 :코틀린 테스팅 까지 스터디 내용 정리를 다 했다. 스터디를 14주 동안 다 빠지지 않았으면 좋았겠지만, 한 주는 사정이 있어서 쉬었고 13주 동안 참여했다. 사실 작성하면서 가장 크게 느낀 점은 글을 작성할 때 어떤 개념이 중요하고 중요하지 않은지에 대해 판단이 안돼서 모든 내용들을 자세히 적으려고 노력했고, 그래서 책의 내용과 별반 다르지 않게 작성한 글들이 주를 이루었다고 생각돼 아쉽다. 그리고 어떤 개념에 대해 설명할 때 내 주관이 들어갔는데 틀린 설명이 될 수도 있다고 생각하니 좀 더 내 생각을 배제하고 작성하게 되었고, 그래서 더 책과 비슷하게 작성한 것 같아 아쉽다. 나는 아직 취업 준비를 하는 개발자의 입장이라 스터디를 하면서 초반에는 내가 프로그..