
문제보러가기 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1≤V≤20,000, 1≤E≤300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1≤K≤V)가 주어진다. www.acmicpc.net 이문제는 다익스트라의 기본이 되는 문제였다. 알고리즘을 알고는 있었지만 문제를 풀어본 적이 없는 것 같아 기초 문제부터 시작! 문제풀이 -각 노드의 간선 정보를 저장할 list와 출발 노드부터 해당 노드까지의 최소거리를 갱신해주는 배열 dist []를 선언한다. -list의 경우 노드 숫자만큼의 배열과 각 노드의 연결된 노드와 가중치의 정보를 저장할 수 있도록 List list []로 선언해 준다. * Point 2는 노드..
문제를 제출했을 때 런타임 에러가 나면 정확히 무슨 이유인지 명시해주지 않기 때문에 알아서 고쳐야 한다. -> 이제는 런타임 에러의 종류를 명시해준다! 여러 가지 이유 1. 배열 인덱스 범위를 벗어났을 경우 ->주어진 테스트 케이스와 달리 채점 케이스는 큰 인덱스를 포함한다. 충분한 배열 크기를 잡아줬는지를 확인해야 한다. -> 내가 1부터 시작하진 않았는지 어디서 조건을 잘못 걸었다던지를 봐야 한다. 2. 0으로 나눌 때 3. 사용하는 라이브러리에서 예외를 발생시켰을 때 4. 재귀 호출이 너무 깊어질 때 => 런타임 에러라는 것은 uncheckedException을 비롯한 문제일 경우가 있으므로 살펴보는 것이 좋다 +추가로 설마 없겠지만 가끔 있는 IDE에서 사용했던 package를 지우지 않는 경우...

문제보러가기 16939번: 2×2×2 큐브 첫째 줄에 2×2×2 루빅스 큐브 각 면의 각 칸 색상이 주어진다. 색상은 1부터 6까지의 자연수로 나타내며, 각 자연수는 총 4번 등장한다. i번째 수가 의미하는 칸은 아래와 같다. www.acmicpc.net 이문제는 2차원 배열을 만들어 문제에서 제시한 대로 큐브 한 면에 해당하는 인덱스들을 90도씩 회전시킬 수 있느냐를 묻는 문제였다. 참.. 어려웠다.. 거의 막일로 푼 문제긴 한데.. 비슷한 코드는 묶어서 쓰기도 했다. 문제풀이 -문제에서 주어진 전개도 그대로 2차원 배열을 만들어 저장한다. -문제에서는 큐브를 단 한 번만 회전할 경우만을 요구하고 있으므로 -회전은 총 12가지 경우가 있다 큐브의 앞면 큐브의 뒷면 큐브의 윗면 큐브의 아랫면 큐브의 왼쪽..
문제보러가기 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감�� www.acmicpc.net 이문제는 시뮬레이션과 dfs를 합쳐서 구현을 하였다. 문제 자체는 심플한데 구현하기는 꽤 까다로운 문제였던 것 같다. 문제풀이 -주어진 배열에서 CCTV일 경우 해당 인덱스와 CCTV번호를 Camera객체로 만들어서 list에 저장한다. -list에 담긴 Camera객체를 하나씩 확인하며 가능한 방향에 대한 모든 map상태를 체크한다. -가능한 방향이라면 monitor함수를 통해 map상태를 갱신하며 list에 담긴 다음 Camera객체..
문제보러가기 17837번: 새로운 게임 2 재현이는 주변을 살펴보던 중 체스판과 말을 이용해서 새로운 게임을 만들기로 했다. 새로운 게임은 크기가 N×N인 체스판에서 진행되고, 사용하는 말의 개수는 K개이다. 말은 원판모양이고, 하� www.acmicpc.net 이문제는... 정말.. 코딩이 단순히 코드를 작성하는 게 아니라 문제를 정확히 이해하는 것에서부터 출발한다는 걸 알려주는 문제였다.. 결론 -> 문제를 잘 읽자! 문제풀이 -각 말의 위치와 방향을 저장하고 있는 kInfo [][] 배열과 체스판의 색상 정보를 담고 있는 map [][] 배열에 초기 정보를 받아 저장한다. -추가로 각 말들이 움직였을 때 맵의 상태를 저장하는 moveMap [][] 배열을 만든다 해당 말보다 나중에 들어올 경우 쌓이..
문제보러가기 17140번: 이차원 배열과 연산 첫째 줄에 r, c, k가 주어진다. (1 ≤ r, c, k ≤ 100) 둘째 줄부터 3개의 줄에 배열 A에 들어있는 수가 주어진다. 배열 A에 들어있는 수는 100보다 작거나 같은 자연수이다. www.acmicpc.net 이문제는 주어진 조건으로 행,열 각각 정렬을 할 수 있는지 말그대로 이차원 배열의 연산을 진행할 수 있는지를 묻는 문제였던거같다. 바보같이 package를 지우지 않는 실수를... 런타임에러가 나길래 배열만 뜯어보고 있었다.. 하하... 문제풀이 -rCnt , cCnt를 갱신하며 rSort를 진행할지 cSort를 진행할지 체크한다 -각 행마다, 혹은 각 열마다 HashMap을 통해 숫자를 key로 나타난갯수를 value로 카운트해준다 -각..
문제 보러가기 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 이문제는 삼성 sw역량 테스트 기출문제이다. 그냥 모든 경우를 탐색하여 가장 적은 차이를 구하면 되는 간단한 문제였던 것 같다. 더 효율적이게 하는 방법도 있을 수 있지만 다 탐색해도 시간초가 괜찮은거 같다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.StringToke..
문제 보러 가기 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모�� www.acmicpc.net 음... 문제가 어려웠던 건 아니겠지... 나는 어려웠다. 우선 이문제는 dfs도 bfs도 가능하다! 다른 분들의 풀이를 보니 어떤 분은 dfs와 bfs를 함께 사용하기도 했다. 나는 bfs를 사용했다 고려사항 -인구이동의 조건 : 각 인접한 나라가 L = n) { continue; } int diff = Math.abs(map[tmp.x][tmp.y] - map[sx][sy]); if ((diff r) ..
- Total
- Today
- Yesterday
- Stomp
- 프로그래머스
- Spring
- 삼성 sw역량테스트
- 코딩테스트
- java
- 자바
- 삼성 sw역량 테스트
- websocket
- 분리 집합
- git
- Heap
- OS
- MST
- BFS
- sockjs
- JavaScript
- 운영체제
- 정렬
- SWEA
- 완전탐색
- 백준
- 알고리즘
- programers
- Oracle
- 채팅
- dfs
- 최소 스패닝 트리
- Baekjoon
- DP
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |