본문 바로가기

알고리즘29

[백준] 31945번: 정육면체의 네 꼭짓점 Java 문제3차원 좌표공간 위의 8개 점 P_0 = (0,0,0), P_1 = (0,0,1), P_2 = (0,1,0), P_3 = (0,1,1), P_4 = (1,0,0),P_5 = (1,0,1), P_6 = (1,1,0), P_7 = (1,1,1)을 꼭짓점으로 하는 정육면체 S가 있다. 주어진 네 꼭짓점이 정육면체 S의 한 면 위에 있는지 판정해 보자. 입력첫째 줄에 테스트 케이스의 개수  T가 주어진다.  ( 1 둘째 줄부터 T개의 줄에 걸쳐 정육면체  S의 각 꼭짓점을 의미하는 서로 다른 네 정수  a, b, c, d가 공백으로 구분되어 주어진다.  (0  출력각 테스트케이스마다 한 줄에 하나씩 P_a, P_b, P_c, P_d가 정육면체 S의 한 면 위에 있는 네 꼭짓점이면 YES, 그렇지 않으면 NO.. 2024. 6. 23.
[백준] 31288번: 캬루 Java 문제이번에 캬루는 소수를 배신했다. 소수의 한 자리를 바꾸어서 소수가 아니게 만들어버렸다. 구체적으로는, 0으로 시작하지 않는 N자리 소수 P에 대해 어떤 수 Q가 P-캬루라는 것은 다음을 모두 만족하는 것을 의미한다. • Q는 2 이상의 N자리 정수이며, 0으로 시작하지 않는다. • P와 Q의 서로 다른 자릿수는 하나뿐이다. • Q는 소수가 아니다. 다음은 N=2, P= 19일 때 P-캬루와 P-캬루가 아닌 수의 예시이다. • Q = 9는 1자리 정수이므로 19-캬루가 아니다. 09처럼 수가 0으로 시작할 수는 없다. • Q = 92는 P = 19와 서로 다른 자릿수가 두 개이므로 19-캬루가 아니다. • Q = 29는 소수이기 때문에 19-캬루가 아니다. • Q = 16,49 등은 19-캬루이다. N.. 2024. 2. 6.
[백준] 12789번 : 도키도키 간식드리미 Java 문제 인하대학교 학생회에서는 중간, 기말고사 때마다 시험 공부에 지친 학우들을 위해 간식을 나눠주는 간식 드리미 행사를 실시한다. 승환이는 시험 기간이 될 때마다 간식을 받을 생각에 두근두근 설레서 시험 공부에 집중을 못 한다. 이번 중간고사에서도 역시 승환이는 설레는 가슴을 안고 간식을 받기 위해 미리 공지된 장소에 시간 맞춰 도착했다. 그런데 이게 무슨 날벼락인가! 그 곳에는 이미 모든 학생들이 모여있었고, 승환이는 마지막 번호표를 받게 되었다. 설상가상으로 몇몇 양심에 털이 난 학생들이 새치기를 거듭한 끝에 대기열의 순서마저 엉망이 되고 말았다. 간식을 나눠주고 있던 인규는 학우들의 터져 나오는 불만에 번호표 순서로만 간식을 줄 수 있다고 말했다. 그제야 학생들이 순서대로 줄을 서려고 했지만 공간이.. 2023. 11. 5.
[백준] 29332번: 보물 지도 JAVA 문제 오른쪽으로 갈수록 x좌표가 증가하고 위쪽으로 갈수록 y좌표가 증가하는 무한한 좌표평면 위에 살고 있는 여러분은 어느 날 보물 지도를 주웠다. 아쉽게도 여러분이 주운 보물 지도는 여러 개의 조각으로 나뉘어 있어 정확히 어디에 보물이 묻혀 있는지는 알 수 없었다. 그래도 열심히 주어진 지도 조각들을 분석한 결과, 보물이 묻힌 위치에 대해 다음과 같은 정보를 얻을 수 있었다. 보물이 묻혀 있는 위치는 어느 정수 격자점 위이다. 보물이 묻혀 있는 위치를 나타내는 N개의 단서가 있다. 각 단서는 두 정수 x_i, y_i와 문자 d_i로 이루어져 있다. 문자 d_i는 L, R, U, D 중 하나이며, 각각 보물이 (x_i, y_i) 좌표보다 왼쪽, 오른쪽, 위쪽, 아래쪽에 묻혀 있음을 의미한다. 모든 정보는 .. 2023. 9. 3.
[백준] 28682번: 재우야 임관하자 JAVA 문제이 문제는 인터랙티브 문제이다. 아래 노트에 나와 있는 방식으로 입출력을 진행해야 한다. 2023년 2학기, 드디어 고려대학교에 드랍(수강포기제)이 부활한다! 이번 학기를 마치고 졸업하는 사이버국방학과 재우는 원래도 DP 문제를 좋아했는데, 최근에 시즌 2가 나온 드라마 시리즈를 보고 졸업 후 장교로 임관하기로 마음먹었다. 재우는 임관을 위해 최대 3개까지 수강할 수 있는 운동 과목을 수강하기로 했다. 작년에 F를 받은 “수영” 과목의 재수강은 물론, “축구”와 “볼링” 과목까지 최대로 수강하게 되었다. 드랍을 할 수 있는 날이 다가오자, 재우는 갑자기 작년에 수영을 F 받은 기억이 떠올라 PTSD가 왔다. 이에 재우는 지도 교수님께 면담을 요청했고, 재우의 정보를 보던 교수님께서는 재우가 세 과목 .. 2023. 8. 19.
[백준] 28432번: 끝말잇기 JAVA 문제 끝말잇기는 단어를 중복하지 않고 단어의 맨 끝 글자에 이어서 말하는 놀이입니다. 끝말잇기 기록은 단어들의 나열로 이루어집니다. 올바른 끝말잇기 기록은 각 단어의 마지막 글자가 다음 단어의 첫 글자이며, 단어가 중복되어서 나타나면 안 됩니다. 끝말잇기 기록이 주어지는데, 하나의 기록은 “?”로 가려진 채로 들어옵니다. “?”에 들어갈 수 있는 문자열들의 후보가 주어질 때, 올바른 끝말잇기 기록을 만드는 “?”에 들어갈 문자열을 출력하세요. 입력 첫째 줄에 n(5 ≤ n ≤ 40)이 주어진다. 첫 줄에 끝말잇기 기록의 길이 N 이 주어집니다. (1≤N≤100) 둘째 줄부터 다음 N개의 줄에는 끝말잇기의 기록 S_1,⋯, S_N이 한 줄에 하나씩 주어집니다. 여기서, 하나의 S_i는 “?” 로 주어집니다.. 2023. 8. 11.
[레이튼 미스터리저니] 이쪽저쪽 프루트 요즘 출퇴근 할 때마다 자주 하는 모바일 게임으로 레이튼 미스터리저니 - 일곱 대부호의 음모를 하고 있다. 지금은 모든 스토리를 진행하고, 비밀 모드로 수수께끼를 풀고 있는데, 한 파트가 진행하는데 너무 오랜 시간이 걸려 알고리즘을 통해 문제의 답을 도출하는 프로그램을 짜려고 한다. 이쪽저쪽 프루트 이쪽저쪽 프루트는 비밀모드-일간수수께끼 통신 중 한 수수께끼 장르로 이미 고정된 과일의 배치를 참고하여 정해진 규칙에 따라 과일가게의 배치를 지정해야 한다. 규칙은 다음과 같다. 1. 과일의 종류는 4가지 이다 ( 사과,포도,바나나,메론) 2. 8x8 타일 내에 가로줄, 세로줄에 과일의 종류가 각각 2개씩 들어간다. 3. 연속해서 같은 종류의 과일을 배치할 수 없다. 문제 풀이 일종의 스도쿠나 마방진 문제와 .. 2023. 7. 30.
[백준] 25183번: 인생은 한 방 Java 문제재형이는 인생 역전을 위해 오늘도 로또를 샀다. 로또를 구매하면 알파벳 대문자 N개가 일렬로 적힌 문자열이 주어진다. 로또에 당첨되기 위해선 인접한 문자가 모두 사전상에서 이웃한, 길이 5 이상의 부분 문자열이 로또 문자열에 존재해야 한다. 예를 들어 'C'와 사전상에서 이웃한 문자는 'B'와 'D'이고, 'Z'와 이웃한 문자는 'Y' 하나이며, 자기 자신과는 이웃하지 않는다. 따라서, 로또 문자열이 "ABCDE", "ASGXYZYXE", "WEFGHIJKA"인 경우는 당첨이고, "ABCDF", "CXYZAB", "AAAAA"는 당첨되지 않은 경우이다. 알파벳 대문자 N개로 이루어진 문자열이 주어질 때, 로또에 당첨되었는지를 구해보자. 입력첫째 줄에 로또 문자열의 길이 N(5≤N≤100000)이 주어.. 2022. 6. 10.
반응형