일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준 17425
- 백준 18290
- Codility
- 자바
- 백준 11723
- java 반올림
- 0으로 채우기
- 프로그래머스 옹알이 java
- 백준 4375
- 백준 16927
- 네트워크
- 프로그래머스 숫자의 표현 java
- Math.ceil()
- 백준 15661
- 코딩테스트
- 알고리즘
- 프로그래머스 도둑질 java
- sort
- time complexity
- java
- mysql
- Math.floor()
- Algorithm
- 백준 16935
- java 내림
- 프로그래머스 네트워크 java
- Arrays
- java 올림
- 프로그래머스 연속된 수의 합 java
- 백준 14391
- Today
- Total
목록분류 전체보기 (151)
취미처럼
https://school.programmers.co.kr/learn/courses/30/lessons/12924 class Solution { public int solution(int n) { int answer = 1; // 자기자신 n for(int i = 1; i
https://school.programmers.co.kr/learn/courses/30/lessons/43162 방문체크를 하는 visit 배열을 컴퓨터 개수 n개로 생성 각각의 컴퓨터 노드를 모두 탐색 1일때만 탐색하거나 큐에 넣어서 answer를 늘려줌 import java.util.*; class Solution { public int solution(int n, int[][] computers) { int answer = 0; boolean[] visit = new boolean[n]; for(int i = 0; i < n; i++) { if(!visit[i]) { dfs(computers, visit, i); answer++; } } return answer; } public void dfs(..
https://www.acmicpc.net/problem/16935 16935번: 배열 돌리기 3 크기가 N×M인 배열이 있을 때, 배열에 연산을 R번 적용하려고 한다. 연산은 총 6가지가 있다. 1번 연산은 배열을 상하 반전시키는 연산이다. 1 6 2 9 8 4 → 4 2 9 3 1 8 7 2 6 9 8 2 → 9 2 3 6 1 5 1 8 3 4 2 9 → www.acmicpc.net 1. 전체 가로, 세로 변경해 주는 부분 2. 임시 배열의 가로, 세로 변경해 주는 부분 3. 길이의 반만 계산하는 부분 import java.util.*; import java.io.*; public class Main { static int N; static int M; static int[][] map; public..
https://www.acmicpc.net/problem/16927 16927번: 배열 돌리기 2 크기가 N×M인 배열이 있을 때, 배열을 돌려보려고 한다. 배열은 다음과 같이 반시계 방향으로 돌려야 한다. A[1][1] ← A[1][2] ← A[1][3] ← A[1][4] ← A[1][5] ↓ ↑ A[2][1] A[2][2] ← A[2][3] ← A[2][4] A[2][5] www.acmicpc.net import java.util.*; import java.io.*; public class Main { static int N, M, R; static int[][] map; // 시계 반대방향 static int[] dy = {0, 1, 0, -1}; static int[] dx = {1, 0, -1,..
https://www.acmicpc.net/problem/1261 1261번: 알고스팟 첫째 줄에 미로의 크기를 나타내는 가로 크기 M, 세로 크기 N (1 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 미로의 상태를 나타내는 숫자 0과 1이 주어진다. 0은 빈 방을 의미하고, 1은 벽을 의미 www.acmicpc.net import java.util.*; import java.io.*; public class Main { static int N, M; static int[][] map; static int[][] visit; static int[] dy = {0, 1, 0, -1}; static int[] dx = {1, 0, -1, 0}; static int min = Integer.MAX..
다익스트라(Dijkstra) 최단경로 알고리즘 그리디 알고리즘으로 분류 - 매번 가장 비용이 적은 노드를 선택해서 반복 DFS/BFS 의 경우 모든 노드간의 가중치가 같고, 얼마나 적은 수의 노드를 거쳤는지 탐색 다익스트라의 경우 노드간의 가중치가 달라서 얼마나 적은 가중치의 합으로 목적지에 도착했는지 탐색 출발 노드 설정 최단 거리 테이블 초기화 방문하지 않은 노드 중에서 최단 거리가 가장 짧은 노드 선택 해당 노드를 거쳐 다른 노드로 가는 비용을 계산하여 최단 거리 테이블 갱신 3번 4번 반복 시간복잡도 : O(N²) 단계마다 방문하지 않은 노드 중에서 최단 거리가 가장 짧은 노드를 선택하기 위해 매 단계마다 1차원 리스트의 모든 원소를 확인(순차탐색)한다. 우선순위 큐 우선순위가 가장 높은 데이터를..
https://www.acmicpc.net/problem/13549 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net * 2 의 경우 이동 시간이 0초라서 증가하지 않으므로 다른 이동 보다 먼저 계산되어야 함 import java.util.*; import java.io.*; class Node { int x; int time; public Node(int x, int time){ this.x = x; this.time = time; } } public class Main { s..
https://www.acmicpc.net/problem/14226 14226번: 이모티콘 영선이는 매우 기쁘기 때문에, 효빈이에게 스마일 이모티콘을 S개 보내려고 한다. 영선이는 이미 화면에 이모티콘 1개를 입력했다. 이제, 다음과 같은 3가지 연산만 사용해서 이모티콘을 S개 만 www.acmicpc.net 화면에있는이모티콘수, 클립보드에 있는 이모티콘수 를 이차원 배열로 상태관리 import java.util.*; import java.io.*; public class Main { static int max = 1001; static int S; static boolean[][] visit = new boolean[max][max]; public static void main(String[] args..
https://www.acmicpc.net/problem/13913 13913번: 숨바꼭질 4 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net parent 배열에 직전 번호를 기록하여 이동 경로 저장 import java.util.*; import java.io.*; public class Main { static int N; static int K; static boolean[] visit = new boolean[100001]; static int[] arr = new int[100001]; stat..
https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net N과 K가 같을 경우의 처리를 해줘야 한다. import java.util.*; import java.io.*; public class Main { static int N; static int K; static int[] visit = new int[100001]; public static void main(String[] args) throws Exception { S..