https://www.acmicpc.net/problem/1939 1939번: 중량제한 첫째 줄에 N, M(1 ≤ M ≤ 100,000)이 주어진다. 다음 M개의 줄에는 다리에 대한 정보를 나타내는 세 정수 A, B(1 ≤ A, B ≤ N), C(1 ≤ C ≤ 1,000,000,000)가 주어진다. 이는 A번 섬과 B번 섬 사이에 중량제한이 www.acmicpc.net 풀이 0) Node 클래스 선언. 가중치의 내림차순으로 정렬 해야함. 1) 시작 점 부터 해당 노드까지 버틸수있는 중량을 저장하는 배열 limit[]을 선언. Integer.MIN_VALUE로 초기화. 2) dijkstra 함수를 생성한다. 2-1) limit를 초기화 해줄때 현재 노드의 가중치보다 다음 노드의 가중치 비교 2-1-1) 현..
https://www.acmicpc.net/problem/9367 9367번: 관리 난항 적절한 자동차는 첩보원의 필수품이다. BAPC로 알려진 한 렌트카 회사에서는 첩보원에게 어울릴 만한 자동차들을 방대하게 구비해두고 있으며, 사후처리까지 담당하고 있다. 첩보원으로부터 반 www.acmicpc.net 풀이 1) event = p 일 경우 (대여) 처음 보는 첩보원일 경우 처음 보는 첩보원도 아니고 차를 대여한 상태가 아닌 경우 처음 보는 첩보원은 아닌데 차를 대여한 상태인데 또 대여한다고 하는 경우 2) event = r 일 경우 (반납) 처음 보는 첩보원일 경우 처음 보는 첩보원은 아닌데 차를 대여도 안했는데 반납한다고 하는 경우 아닐 경우 3) event = a 일 경우 (사고) 처음 보는 첩보원일..
https://www.acmicpc.net/problem/5464 5464번: 주차장 시내 주차장은 1부터 N까지 번호가 매겨진 N개의 주차 공간을 가지고 있다. 이 주차장은 매일 아침 모든 주차 공간이 비어 있는 상태에서 영업을 시작하며, 하룻동안 다음과 같은 방식으로 운영 www.acmicpc.net 풀이 1) 주차칸에 몇번 차가 주차중인지 저장하는 cars[] 배열과 기다리는 차를 담을 waitng 큐를 생성. 2) 입차인 경우 2-1) 빈자리가 있을경우 가장 앞의 빈자리에 차를 주차한다. 2-2) 빈자리가 없을경우 큐에 저장한다. 3) 출차인 경우 3-1) 해당 차를 찾고 주차요금을 계산하여 sum에 더함. 해당 자리 cars[n] 은 0으로 초기화. 3-2) 만약 queue가 비어있지 않다면 해..
https://www.acmicpc.net/problem/16924 16924번: 십자가 찾기 십자가는 가운데에 '*'가 있고, 상하좌우 방향으로 모두 같은 길이의 '*'가 있는 모양이다. 십자가의 크기는 가운데를 중심으로 상하좌우 방향으로 있는 '*'의 개수이다. 십자가의 크기는 1보다 크 www.acmicpc.net 풀이 0) 십자가체크를 위한 isChecked[][] 배열, 결과값을 저장하기위한 List, List에 넣을 자료형 Cross를 만든다. 1) 코너에 * 이 있으면 무조건 -1 2) 테두리에선 십자가를 만들 수 없다. 3) * 이 있는 모든 곳에서 십자가를 만들어본다. 3-1) 상, 하, 좌, 우로 뻗어서 가장 짧은 거리 size 를 구한다. 3-2) size가 0보다 크면 1부터 siz..
https://www.acmicpc.net/problem/3987 3987번: 보이저 1호 첫째 줄에 시그널을 보내는 방향을 출력한다. (U: 위, R: 오른쪽, D: 아래, L: 왼쪽) 만약, 방향이 여러 가지가 존재한다면, U, R, D, L의 순서 중 앞서는 것을 출력한다. 둘째 줄에는 가장 긴 시간을 출 www.acmicpc.net 풀이 0) 방향이 존재하므로 3차원 방문체크배열을 만든다. isVisited[][][4] 1) 어떤 방향에서 어떤 행성(/ or \)을 만날때 방향이 어디로 바뀌는지 알면 된다. 2) URDL 을 0123 이라고 할 경우 2-1) / 행성을 지날경우 1032 로 바뀐다. => dir = dir^1 2-2) \행성을 지날경우 3210 으로 바뀐다. => dir = 3-d..
https://www.acmicpc.net/problem/1713 1713번: 후보 추천하기 첫째 줄에는 사진틀의 개수 N이 주어진다. (1 ≤ N ≤ 20) 둘째 줄에는 전체 학생의 총 추천 횟수가 주어지고, 셋째 줄에는 추천받은 학생을 나타내는 번호가 빈 칸을 사이에 두고 추천받은 순서대 www.acmicpc.net 풀이 1) 후보는 최대 100명이므로 int형 배열 student[100] 을 만든다. 2) 투표지를 개봉할 때마다 리스트를 탐색하여 해당 후보가 있을경우와 없을경우로 나눈다 2-1) 해당 후보가 있을경우 (student[i] > 0) 리스트 값을 갱신한다. 2-2) 해당 후보가 없을경우 list의 크기가 사진틀의 개수보다 작을경우와 클 작지 않을 경우로 나눈다. 2-2-1) 작을 경우 ..
https://www.acmicpc.net/problem/1261 1261번: 알고스팟 첫째 줄에 미로의 크기를 나타내는 가로 크기 M, 세로 크기 N (1 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 미로의 상태를 나타내는 숫자 0과 1이 주어진다. 0은 빈 방을 의미하고, 1은 벽을 의미 www.acmicpc.net 풀이 1) 입력 배열(map[][]), 방문체크 배열(isVisited[][]), 최단거리를 저장할 배열(distance[][]) 을 선언하고 distance는 무한대로 초기화한다. 2) 0,0 부터 시작하는 bfs 같은 dijstra 함수를 돌린다. 3) distance[0][0] 을 0으로 초기화. (시작지점이므로) 4) PriorityQueue를 사용해서 가장 짧은 노드..
https://www.acmicpc.net/problem/17396 17396번: 백도어 첫 번째 줄에 분기점의 수와 분기점들을 잇는 길의 수를 의미하는 두 자연수 N과 M이 공백으로 구분되어 주어진다.(1 ≤ N ≤ 100,000, 1 ≤ M ≤ 300,000) 두 번째 줄에 각 분기점이 적의 시야에 보이는 www.acmicpc.net 풀이 1) 시야에 걸리는 노드는 먼저 방문체크를 하고 다익스트라 ㄱㄱ 주의사항 1) 도달하지 못할 경우 -1을 출력해야 함. 2) N이 최대 100000, t이 최대 100000 이기 때문에 N * t = 10000000000 이므로 int 범위를 벗어난다. long으로 ㄱㄱ package com.baekJoon; import java.io.BufferedReader; ..
- Total
- Today
- Yesterday
- S3
- 우선순위큐
- 리액트
- 백트래킹
- 문자열
- S2
- Spring Boot
- g4
- 그리디
- 현꾸라지
- react
- Spring
- DFS
- 다익스트라
- 알고리즘
- G5
- laugh4mile
- BFS
- 구현
- 코딩새내기
- map
- 자바
- 객체지향
- 리액트 네이티브
- react native
- PriorityQueue
- java
- SWEA
- 백준
- 시뮬레이션
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |