일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바PS
- 01BFS
- PS
- 백준
- 네트워크플로우
- java
- COSPROJAVA1급
- YBMCOS
- 구현
- DFS
- 세그먼트트리
- 완전탐색
- 엘라스틱서치
- 다익스트라
- 재귀함수
- COSPRO
- QUICKSTARTGUIDE
- GatherTown
- 취득후기
- 백준코딩테스트
- 게더타운시작
- dp
- 시뮬레이션
- BFS
- 알고리즘
- spring
- 우선순위큐
- deque
- 이젠 골드구현도 어렵네..
- 다이나믹프로그래밍
- Today
- Total
목록알고리즘/구현,시뮬 (64)
공부공간
https://www.acmicpc.net/problem/25306 25306번: 연속 XOR 3에서 5까지의 자연수는 3, 4, 5로, 세 개 존재한다. 세 수를 XOR한 값은 (3 XOR 4) XOR 5 = 7 XOR 5 = 2 이다. www.acmicpc.net XOR연산(결합,교환) 특성에 의해 1-(A-1) 까지와 1-B까지 숫자에 대한 XOR이 A-B까지 XOR이 같게된다. 첫번째 자리를 제외한 비트를 나열해보면, 모두 주기를 띄고있다.( 0011 00001111 ... ) 따라서 2^N으로 비트를 밀면서 해당 번째가 00에속하는지 11에 속하는지 먼저 판단하고, 11영역에 속한다면, 해당 1의 누적개수가 짝수개면 0 홀수개면 1로 비트를 바꾸어준다. import java.io.Buffered..
https://www.acmicpc.net/problem/2559 2559번: 수열 첫째 줄에는 두 개의 정수 N과 K가 한 개의 공백을 사이에 두고 순서대로 주어진다. 첫 번째 정수 N은 온도를 측정한 전체 날짜의 수이다. N은 2 이상 100,000 이하이다. 두 번째 정수 K는 합을 구하기 www.acmicpc.net K개가 될때까지 더하고, 이후에는 K길이 전만큼은 빼주면서 현재 인덱스 값을 더해주며 진행한다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static v..
https://www.acmicpc.net/problem/21609 21609번: 상어 중학교 상어 중학교의 코딩 동아리에서 게임을 만들었다. 이 게임은 크기가 N×N인 격자에서 진행되고, 초기에 격자의 모든 칸에는 블록이 하나씩 들어있고, 블록은 검은색 블록, 무지개 블록, 일반 블록 www.acmicpc.net 매번 가장큰 size를 가진 일반 블록을 찾기위해 NXN을 탐색한다. (사이즈가 같은경우는 무지개 블록이, 무지개블록이 같은경우는 대표블록의 Y,X값을 참조) 해당 블록이 그룹이 되는 조건을 BFS를 진행하며 확인해준다. ( size가 1이면 그룹이 될 수 없다 ) 또한, 점수를 획득할 그룹이 지정되면 반시계반향으로 돌리는 로직과 ( y,x -> 한변의 길이-x,y ) 중력을 받아서 아래로 내..
https://www.acmicpc.net/problem/2493 2493번: 탑 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1 �� www.acmicpc.net Stack 자료구조를 사용하여 현재까지의 탑의 높이를 저장하여 내 왼쪽의 탑들중 신호를 수신하는 탑을 찾는 문제이다. 수신되는 탑을 찾기위하여 현재까지 저장된 높이가 내높이보다 크면 add연산을 진행하고 작다면 나보다 큰 높이가 나올때까지 poll연산을 진행한다. package algorithm_2022; import java.io.BufferedReader; import java.io.I..
https://www.acmicpc.net/problem/21608 21608번: 상어 초등학교 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호 www.acmicpc.net 순번이 정해져있기 때문에, 순서대로 처리해주면서 해당 자리를 찾아간다. 우선순위가 같을경우 다음의 우선순위로 넘어가게한다. 처음 모집단을 계속 가야지 올바른 만족도를 구할 수 있다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Array..
https://www.acmicpc.net/problem/1780 1780번: 종이의 개수 N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1 중 하나가 저장되어 있다. 우리는 이 행렬을 다음과 같은 규칙에 따라 적절한 크기로 자르려고 한다. 만약 종이가 모두 같은 수 www.acmicpc.net 현재 좌표와 길이를 변수로 재귀탐색을 하며, 모두 같은지 여부를 판단한다. 모두같은경우 -1 0 1 을 나누고 아닌경우 길이/3로 나누어서 재 탐색한다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; publ..
https://www.acmicpc.net/problem/9375 9375번: 패션왕 신해빈 첫 번째 테스트 케이스는 headgear에 해당하는 의상이 hat, turban이며 eyewear에 해당하는 의상이 sunglasses이므로 (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)로 총 5가지 이다. www.acmicpc.net n0가지와 n1,n2,n3 ... nn가지있을때에 (n0+1)*(n1+1)*(n2+1)*...(nn+1) 가지에서 아무것도 걸치지않은 한가지를 빼주자. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamR..
https://www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net DEQUE를 사용해도되고 투포인터로 배열의 크기를 잡아주어도 된다. import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class Main { public static void main(String[] args)..