www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net 풀이 1) 2차원 배열을 4개를 쓴다. 원본, 연합, 바꾼값, 방문체크 2) 2중 포문을 돌며 bfs를 도는것을 반복한다. 2-1) 연합끼리 분류한다. 2-2) 같은 연합이면 전부 평균값으로 바꾼다. 2-3) 원본과 비교한다. 2-4) 원본과 같으면 더이상 바꿀수 없는거임. while문을 탈출한다. 3) 2번을 2000번 돌린다. 4) 반복횟수를 출력한다. 주의사항 1) 없다 package com..
www.acmicpc.net/problem/10798 10798번: 세로읽기 총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’ www.acmicpc.net 풀이 1) 2차원 배열을 만들때 최대 15개의 글자이므로 map[5][15] 배열을 생성한다. 2) 배열에 입력값을 넣고 세로로 탐색하면서 비어있지 않을 때만 StringBuffer에 담는다 3) StringBuffer 출력 주의사항 1) char의 초기값은 '\u0000' 십진수로는 0 이다. package com.baekJoon; import java.io.BufferedReader; import j..
www.acmicpc.net/problem/14395 14395번: 4연산 첫째 줄에 정수 s를 t로 바꾸는 방법을 출력한다. s와 t가 같은 경우에는 0을, 바꿀 수 없는 경우에는 -1을 출력한다. 가능한 방법이 여러 가지라면, 사전 순으로 앞서는 것을 출력한다. 연산의 아 www.acmicpc.net 풀이 1) bfs를 돌림 1-1) 나오는 애들을 4연산을 하여 queue에 연산된 숫자, 누적된 연산자를 저장 1-2) queue.poll().num이 t가 되면 누적된 연산자를 출력후에 리턴. 주의사항 1) 가능한 방법이 여러 가지라면, 사전 순으로 앞서는 것을 출력한다. 연산의 아스키 코드 순서는 '*', '+', '-', '/' 이다. 이 말은 즉 dir[]을 *, +, - / 순서로 만들라는 뜻이..
www.acmicpc.net/problem/10797 10797번: 10부제 서울시는 6월 1일부터 교통 혼잡을 막기 위해서 자동차 10부제를 시행한다. 자동차 10부제는 자동차 번호의 일의 자리 숫자와 날짜의 일의 자리 숫자가 일치하면 해당 자동차의 운행을 금지하는 www.acmicpc.net 풀이 1) 입력값을 받아서 N이면 결과값+1 2) 결과값 출력 주의사항 1) 없다 package com.baekJoon; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.StringReader; import java.util.StringTokenizer; public c..
www.acmicpc.net/problem/14442 14442번: 벽 부수고 이동하기 2 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 1,000), K(1 ≤ K ≤ 10)이 주어진다. 다음 N개의 줄에 M개의 숫자로 맵이 주어진다. (1, 1)과 (N, M)은 항상 0이라고 가정하자. www.acmicpc.net 풀이 1) 입력값을 저장할 map[][]과 방문체크용 배열 isVisited[][][]를 생성한다. 2) bfs를 돌리기위해 필요한 함수, 변수를 클래스를 생성한다. 클래스의 멤버는 좌표(r,c), 벽뚫은 횟수 (k), 이동 횟수(t). 3) (0,0) 에서 bfs를 돌린다 (N-1,M-1)에 도착하면 이동 횟수(t) +1 을 출력 후 리턴 벽을 부술 수 없는 경우 : k 벽..
www.acmicpc.net/problem/1715 1715번: 카드 정렬하기 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장 www.acmicpc.net 풀이 1) 카드 묶음을 PriorityQueue에 담는다. 2) 카드 묶음이 1개 이면 0을 출력한다. 3) 카드 묶음이 2개 이상이면 무한루프 ㄱㄱ pq에서 2개를 뽑아 sum에 더한다. pq가 비었으면 루프를 탈출한다. pq가 안 비었으면 pq에 앞서 뽑은 2개를 더한 값을 pq에 넣는다 주의사항 1) 카드묶음이 1개면 0을 출력한다. (카드묶음을 출력하는 것이 아니다.) package com..
www.acmicpc.net/problem/1707 1707번: 이분 그래프 입력은 여러 개의 테스트 케이스로 구성되어 있는데, 첫째 줄에 테스트 케이스의 개수 K(2≤K≤5)가 주어진다. 각 테스트 케이스의 첫째 줄에는 그래프의 정점의 개수 V(1≤V≤20,000)와 간선의 개수 www.acmicpc.net 풀이 1) 간선의 정보를 담을 리스트 배열 list[], 정점이 속한 팀을 나타낼 배열 team[] 을 생성한다. 2) 리스트에 양방향으로 간선의 정보를 담는다. 3) Node 클래스를 만든다. 멤버는 정점의 번호와 팀. 4) i = 1부터 V까지 team[]이 0이라면 bfs를 돌릴것이다. (0 : 아직 팀이 정해져 있지 않은 점) team[i] 를 1로 설정한 후 큐에 담는다 (queue.off..
- Total
- Today
- Yesterday
- Spring
- S3
- react
- Spring Boot
- S2
- SWEA
- 그리디
- 코딩새내기
- 구현
- 백트래킹
- 리액트 네이티브
- 객체지향
- 알고리즘
- 시뮬레이션
- 현꾸라지
- 다익스트라
- 문자열
- BFS
- laugh4mile
- G5
- 우선순위큐
- map
- 리액트
- 자바
- 백준
- react native
- PriorityQueue
- DFS
- java
- g4
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |