코딩테스트/백준
[백준]1592번 영식이와 친구들 - Java
문제 https://www.acmicpc.net/problem/1592 1592번: 영식이와 친구들 예제 1의 경우 일단 1번이 공을 잡는다. 1번은 공을 한 번 잡았기 때문에, 공을 3번에게 던진다. 3번은 공을 한 번 잡았기 때문에, 공을 5번에게 던진다. 5번은 2번에게 던지고, 2번은 4번에게 던진다 www.acmicpc.net 풀이 쉬운 문제임! 공을 다음 사람에게 전달할 때 인덱스 처리를 해주는 거만 쉽게 하면 정말 쉬운 문제인 것 같다! 다만 M이 1인 경우에는 게임이 시작하자마자 끝날 수 있으니까 그것만 주의해서 풀면 될듯?? 자세한 설명은 주석을 참고하면 됨 코드 // 1592번 영식이와 친구들 // https://www.acmicpc.net/problem/1592 package BAEK..
[백준]2567번 색종이-2 - Java
문제 https://www.acmicpc.net/problem/2567 2567번: 색종이 - 2 첫째 줄에 색종이의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다. 색종이를 붙인 위치는 두 개의 자연수로 주어지는데 첫 번째 자연수는 색종이의 왼쪽 변 www.acmicpc.net 풀이 몇번 풀어봤던 유형의 색종이 문제라 처음 읽었을 때는 한 5분이면 풀 수 있을 줄 알았다. 이전의 색종이 문제들은 내 블로그에도 두세문제 있으니까 찾아보면 될 듯???? 근데 얘는 걔네들보다는 쪼오오오오끔 더 생각을 해야된다. 넓이를 구하는게 아니라 둘레를 구하는 것이기 때문. 우선 색종이를 붙인 칸이면 1로 싹 바꿔주고, 바꾼 후에 배열 한 칸마다 탐색을 한다. 탐색을 하면서 1인 칸은 ..
[백준]2941번 크로아티아 알파벳 - Java
문제 https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 풀이 그냥 케이스 나누고 인덱싱에 주의하면서 풀었음! 근데 같이 스터디하는 친구가 다른 방법으로 잘 풀어서 그것도 코드에 추가해 놓아야겠음 ㅎㅎㅎ 첫번째가 내가 그냥 푼 코드고 두번째가 새로 알게된 방식! 문자열을 다룰 때는 이처럼 내장 함수를 쓰면 많이 편하니까 평소에 자주 쓰는 버릇을 들여놔야겠다 이 코드에서는 String.contains()랑 Str..
[백준]2564번 경비원 - Java
문제 https://www.acmicpc.net/problem/2564 2564번: 경비원 첫째 줄에 블록의 가로의 길이와 세로의 길이가 차례로 주어진다. 둘째 줄에 상점의 개수가 주어진다. 블록의 가로의 길이와 세로의 길이, 상점의 개수는 모두 100이하의 자연수이다. 이어 한 줄 www.acmicpc.net 풀이 단순하게 케이스를 나눠서 계산을 해주면 되는 문제임! 동서남북 나눠서 계산을 했음 자세한건 주석으로 코드 // 2564번 경비원 // https://www.acmicpc.net/problem/2564 package BAEKJOON; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReade..
[백준]1417번 국회의원 선거 - Java
문제 https://www.acmicpc.net/problem/1417 1417번: 국회의원 선거 첫째 줄에 후보의 수 N이 주어진다. 둘째 줄부터 차례대로 기호 1번을 찍으려고 하는 사람의 수, 기호 2번을 찍으려고 하는 수, 이렇게 총 N개의 줄에 걸쳐 입력이 들어온다. N은 50보다 작거나 같 www.acmicpc.net 풀이 쉬운 문제임 for문을 돌면서 후보자들 중 가장 많은 표를 가지고 있는 후보자를 찾고 그 표가 다솜이의 표보다 많다면 그 후보자의 표를 -1 해주고 다솜이의 표를 +1 해준다. while(true){ ] 안에서 다솜이의 표가 다른 후보자들의 표보다 많아질 때까지 정답에 해당하는 로직을 반복하면 된다. 진짜 이게 끝임! 코드 // 1417번 국회의원 선거 // https://w..
[백준]2468번 안전 영역 - Java
문제 https://www.acmicpc.net/problem/2468 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net 풀이 많이 풀어본 듯한 유형의 문제??? visited[][] 배열을 만들어서 방문한 곳을 체킹하면서 풀 수도 있겠지만 나는 탐색하고 있는 tempMap의 값을 직접 스지않는 값(코드 에서는 -1)으로 바꿔주고 그거를 방문했다는 표시로 봤음! 강수량을 증가시킬 때마다 사방탐색을 하면서 DFS를 돌려주고 그렇게 해서 나온 값들 중 가장 큰 값을 정답으로 출력해줬다. solution() 함수 안에서는 ..
[백준]2840번 행운의 바퀴 - Java
문제 https://www.acmicpc.net/problem/2840 2840번: 행운의 바퀴 첫째 줄에 마지막 회전에서 화살표가 가리키는 문자부터 시계방향으로 바퀴에 적어놓은 알파벳을 출력한다. 이때, 어떤 글자인지 결정하지 못하는 칸은 '?'를 출력한다. 만약, 상덕이가 적어놓 www.acmicpc.net 풀이 또 문제를 잘 읽지 않아서 시간을 버렸다,,, 문제 초반에 분명하게 '바퀴에 같은 글자는 두 번 이상 등장하지 않는다.' 라고 써있는데도 안 읽고 풀었다가 헤맸다 ㅠㅠ ArrayList를 큐처럼 사용하여 풀었다 자세한건 주석으로! 코드 // 2840번 행운의 바퀴 // https://www.acmicpc.net/problem/2840 package BAEKJOON; import java.io..
[백준]1244번 스위치 켜고 끄기 - Java
문제 https://www.acmicpc.net/problem/1244 1244번: 스위치 켜고 끄기 첫째 줄에는 스위치 개수가 주어진다. 스위치 개수는 100 이하인 양의 정수이다. 둘째 줄에는 각 스위치의 상태가 주어진다. 켜져 있으면 1, 꺼져있으면 0이라고 표시하고 사이에 빈칸이 하나씩 www.acmicpc.net 풀이 문제에 맞게 잘 따라가면 됨 남학생 부분은 % 연산으로 쉽게 해결 가능 여학생의 경우 for문 안에서 가운데 부터 왼쪽 + 오른쪽으로 하나씩 인덱스를 이동하면서 비교 후 연산을 해줌 코드 // 1244번 스위치 켜고 끄기 // https://www.acmicpc.net/problem/1244 package BAEKJOON; import java.io.BufferedReader; i..