전체 글505 [BOJ] 2580 스도쿠 - JAVA 1. 문제 https://www.acmicpc.net/problem/2580 2580번: 스도쿠 스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루 www.acmicpc.net 각각의 가로줄과 세로줄에는 1부터 9까지의 숫자가 한 번씩만 나타나야 한다. 3x3 정사각형 안에도 1부터 9까지의 숫자가 한 번씩만 나타나야 한다. 게임 시작 전 스도쿠 판에 쓰여 있는 숫자들의 정보가 주어질 때 모든 빈 칸이 채워진 최종 모습을 출력하는 프로그램을 작성하시오. 스도쿠 판을 채우는 방법이 여럿인 경우는 그 중 하나만을 출력한다. 2. 풀이 메인 함수 스도쿠 판에 값을 .. 코딩테스트/BOJ 2022. 2. 23. [BOJ] 2178 미로탐색 - JAVA 1. 문제 https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net N×M크기의 배열로 표현되는 미로가 있다. 미로에서 1은 이동할 수 있는 칸을 나타내고, 0은 이동할 수 없는 칸을 나타낸다. 이러한 미로가 주어졌을 때, (1, 1)에서 출발하여 (N, M)의 위치로 이동할 때 지나야 하는 최소의 칸 수를 구하는 프로그램을 작성하시오. 한 칸에서 다른 칸으로 이동할 때, 서로 인접한 칸으로만 이동할 수 있다. 위의 예에서는 15칸을 지나야 (N, M)의 위치로 이동할 수 있다. 칸을.. 코딩테스트/BOJ 2022. 2. 23. [SWEA] 7465 창용 마을 무리의 개수 - JAVA 1. 문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 창용 마을에는 N명의 사람이 살고 있다. 사람은 편의상 1번부터 N번 사람까지 번호가 붙어져 있다고 가정한다. 두 사람은 서로를 알고 있는 관계일 수 있고, 아닐 수 있다. 두 사람이 서로 아는 관계이거나 몇 사람을 거쳐서 알 수 있는 관계라면, 이러한 사람들을 모두 다 묶어서 하나의 무리라고 한다. 창용 마을에 몇 개의 무리가 존재하는지 계산하는 프로그램을 작성하라. 2. 풀이 import java.io.*; import java.util.*; public class D4_7465_창용마을무리의개수X { static int[] people, size;.. 코딩테스트/SWEA 2022. 2. 23. [SWEA] 3289 서로소집합 - JAVA 1. 문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 초기에 {1}, {2}, ... {n} 이 각각 n개의 집합을 이루고 있다. 여기에 합집합 연산과, 두 원소가 같은 집합에 포함되어 있는지를 확인하는 연산을 수행하려고 한다. 합집합은 0 a b의 형태로 입력이 주어진다. 이는 a가 포함되어 있는 집합과, b가 포함되어 있는 집합을 합친다는 의미이다. 두 원소가 같은 집합에 포함되어 있는지를 확인하는 연산은 1 a b의 형태로 입력이 주어진다. 이는 a와 b가 같은 집합에 포함되어 있는지를 확인하는 연산이다. a와 b는 n 이하의 자연수이며 같을 수도 있다. 2. 풀이 import java.io.*; i.. 코딩테스트/SWEA 2022. 2. 23. [BOJ] 2567 색종이 2 - JAVA 1. 문제 https://www.acmicpc.net/problem/2567 2567번: 색종이 - 2 첫째 줄에 색종이의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다. 색종이를 붙인 위치는 두 개의 자연수로 주어지는데 첫 번째 자연수는 색종이의 왼쪽 변 www.acmicpc.net 색종이를 한 장 또는 여러 장 붙인 후 색종이가 붙은 검은 영역의 둘레의 길이를 구하는 프로그램을 작성하시오. 2. 풀이 가장자리를 굳이 따로 계산해주고 싶지 않아서 도화지의 크기를 넉넉하게 했다. 색종이를 입력받을 때마다 색종이가 도화지를 차지하는 만큼 1로 변경했다. 문제 입력조건이 x는 왼쪽에서부터 멀어진 만큼, y는 아래에서부터 멀어진 만큼이라 y를 계산할 때 100에서 입력받은 값.. 코딩테스트/BOJ 2022. 2. 23. [BOJ] 1012 유기농 배추 - JAVA 1. 문제 https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 어떤 배추에 배추 흰 지렁이가 한 마리라도 살고 있으면 이 지렁이는 인접한 다른 배추로 이동할 수 있어, 그 배추들 역시 해충으로부터 보호받을 수 있다. 한 배추의 상하좌우 네 방향에 다른 배추가 위치한 경우에 서로 인접해있는 것이다. 각 테스트 케이스에 대해 필요한 최소의 배추흰지렁이 마리 수를 출력한다. 2. 풀이 메인함수 배추가 있는 위치에 1을 입력했다. 그리고 bfs탐색 메서드가 불릴 때마.. 코딩테스트/BOJ 2022. 2. 23. [BOJ] 2667 단지번호 붙이기 - JAVA 1. 문제 https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다. 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수를 오름차순으.. 코딩테스트/BOJ 2022. 2. 23. [BOJ] 2108 통계학 - JAVA 1. 문제 https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 산술평균 : N개의 수들의 합을 N으로 나눈 값 중앙값 : N개의 수들을 증가하는 순서로 나열했을 경우 그 중앙에 위치하는 값 최빈값 : N개의 수들 중 가장 많이 나타나는 값 범위 : N개의 수들 중 최댓값과 최솟값의 차이 2. 풀이 평균 : 자바는 반올림을 할 때 -0이 생기는 경우도 있다. 따라서 평균을 구한 뒤 -0이라면 0으로 바꿔주는 작업이 필요하다. 중앙값 : map으로 받았기 때문에 e.. 코딩테스트/BOJ 2022. 2. 23. [BOJ] 2941 크로아티아 알파벳 1. 문제 https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 2. 풀이 line은 입력받은 문자열이다. 첫 번째 방법-> if문 활용하기 int count = 0; for (int i = line.length() - 1; i >= 0; i--) { count++; if(line.charAt(i)=='=') { i--; if(i-1>=0 && line.charAt(i)=='z' && line.charAt(i-1.. 코딩테스트/BOJ 2022. 2. 22. [BOJ] 1417 국회의원 선거 - JAVA 1. 문제 1417번: 국회의원 선거 첫째 줄에 후보의 수 N이 주어진다. 둘째 줄부터 차례대로 기호 1번을 찍으려고 하는 사람의 수, 기호 2번을 찍으려고 하는 수, 이렇게 총 N개의 줄에 걸쳐 입력이 들어온다. N은 50보다 작거나 같 www.acmicpc.net 다솜이는 사람의 마음을 읽을 수 있는 기계를 가지고 있다. 다솜이는 이 기계를 이용해서 2008년 4월 9일 국회의원 선거를 조작하려고 한다. 다솜이의 기계는 각 사람들이 누구를 찍을지 미리 읽을 수 있다. 어떤 사람이 누구를 찍을지 정했으면, 반드시 선거 때 그 사람을 찍는다. 현재 형택구에 나온 국회의원 후보는 N명이다. 다솜이는 이 기계를 이용해서 그 마을의 주민 M명의 마음을 모두 읽었다. 다솜이는 기호 1번이다. 다솜이는 사람들의 .. 코딩테스트/BOJ 2022. 2. 22. [SWEA] 1238 Contact - JAVA 1. 문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 처음에 연락한 사람이 주어지고, BFS식으로 점점 퍼져나가며 연락을 받는다. 마지막에 동시에 연락받은 사람 중 가장 큰 숫자를 가진 사람을 출력하면 된다. [제약 사항] 연락 인원은 최대 100명이며, 부여될 수 있는 번호는 1이상, 100이하이다. 단, 예시에서 5번이 존재하지 않듯이 중간 중간에 비어있는 번호가 있을 수 있다. 한 명의 사람이 다수의 사람에게 연락이 가능한 경우 항상 다자 간 통화를 통해 동시에 전달한다. 연락이 퍼지는 속도는 항상 일정하다 (전화를 받은 사람이 다음사람에게 전화를 거는 속도는 동일). 비상연락망 정보는 사전에 공유되.. 코딩테스트/SWEA 2022. 2. 22. [BOJ] 1759 암호만들기 - JAVA 1. 문제 https://www.acmicpc.net/problem/1759 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 암호는 서로 다른 L개의 알파벳 소문자들로 구성되며 최소 한 개의 모음(a, e, i, o, u)과 최소 두 개의 자음으로 구성되어 있다고 알려져 있다. 암호를 이루는 알파벳이 암호에서 증가하는 순서로 배열되었을 것이라고 추측된다. 조교들이 암호로 사용했을 법한 문자의 종류는 C가지가 있다고 한다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. C개의 문자들이 모두 주어졌을 때,.. 코딩테스트/BOJ 2022. 2. 22. 이전 1 ··· 34 35 36 37 38 39 40 ··· 43 다음