Develope/알고리즘 11

[백준 14891] 톱니바퀴 - java

https://www.acmicpc.net/problem/14891톱니바퀴 풀이시간 제한메모리 제한제출정답맞은 사람정답 비율2 초512 MB116445036343.735%문제총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴가 1번, 그 오른쪽은 2번, 그 오른쪽은 3번, 가장 오른쪽 톱니바퀴는 4번이다.이 때, 톱니바퀴를 총 K번 회전시키려고 한다. 톱니바퀴의 회전은 한 칸을 기준으로 한다. 회전은 시계 방향과 반시계 방향이 있고, 아래 그림과 같이 회전한다.톱니바퀴를 회전시키려면, 회전시킬 톱니바퀴와 회전시킬 방향을 결정해야 한다. 톱니바퀴가 회전할 때, 서..

[알고스팟] BOARDCOVER - java

https://algospot.com/judge/problem/read/BOARDCOVER 문제 ID시간 제한메모리 제한제출 횟수정답 횟수 (비율)BOARDCOVER2000ms65536kb52842463 (46%)출제자출처분류JongMan알고리즘 문제 해결 전략보기문제H*W 크기의 게임판이 있습니다. 게임판은 검은 칸과 흰 칸으로 구성된 격자 모양을 하고 있는데 이 중 모든 흰 칸을 3칸짜리 L자 모양의 블록으로 덮고 싶습니다. 이 때 블록들은 자유롭게 회전해서 놓을 수 있지만, 서로 겹치거나, 검은 칸을 덮거나, 게임판 밖으로 나가서는 안 됩니다. 위 그림은 한 게임판과 이를 덮는 방법을 보여줍니다.게임판이 주어질 때 이를 덮는 방법의 수를 계산하는 프로그램을 작성하세요.입력력의 첫 줄에는 테스트 케이..

[알고스팟] PICNIC - java

문제 정보문제 ID시간 제한메모리 제한제출 횟수정답 횟수 (비율)PICNIC1000ms65536kb80603473 (43%)출제자출처분류JongMan알고리즘 문제 해결 전략보기문제안드로메다 유치원 익스프레스반에서는 다음 주에 율동공원으로 소풍을 갑니다. 원석 선생님은 소풍 때 학생들을 두 명씩 짝을 지어 행동하게 하려고 합니다. 그런데 서로 친구가 아닌 학생들끼리 짝을 지어 주면 서로 싸우거나 같이 돌아다니지 않기 때문에, 항상 서로 친구인 학생들끼리만 짝을 지어 줘야 합니다.각 학생들의 쌍에 대해 이들이 서로 친구인지 여부가 주어질 때, 학생들을 짝지어줄 수 있는 방법의 수를 계산하는 프로그램을 작성하세요. 짝이 되는 학생들이 일부만 다르더라도 다른 방법이라고 봅니다. 예를 들어 다음 두 가지 방법은 ..

[백준 - 1158] 조세퍼스 문제

조세퍼스 문제시간 제한메모리 제한제출정답맞은 사람정답 비율2 초128 MB73603632285551.881%문제조세퍼스 문제는 다음과 같다.1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 M(≤ N)이 주어진다. 이제 순서대로 M번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, M)-조세퍼스 순열이라고 한다. 예를 들어 (7, 3)-조세퍼스 순열은 이다.N과 M이 주어지면 (N,M)-조세퍼스 순열을 구하는 프로그램을 작성하시오.입력첫째 줄에 N과 M이 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ M ≤ N ≤ 5,000) ㅇ 갱장히 ..

[백준 - 2140] 지뢰찾기

문제지뢰찾기는 N×N에서 이뤄지는 게임이다. 보드의 곳곳에는 몇 개의 지뢰가 숨겨져 있고, 지뢰가 없는 칸에는 그 칸과 인접(상하좌우 및 대각선)해 있는 8개의 칸들에 몇 개의 지뢰가 숨겨져 있는지에 대한 정보가 주어진다. 게이머는 게임을 진행하면서 보드의 칸을 하나씩 열게 된다. 만약 그 칸에 지뢰가 있다면 게임이 끝나고, 없는 경우에는 그 칸에 적혀있는 숫자, 즉 그 칸과 인접해 있는 8개의 칸들 중 몇 개의 칸에 지뢰가 있는지를 알 수 있게 된다.이 문제는 보드의 테두리가 모두 열려있고, 그 외는 모두 닫혀있는 상태에서 시작한다. 예를 들어 다음과 같은 경우를 보자.111002###13###12###112210#는 닫혀있는 칸을 나타낸다. 이러한 보드가 주어졌을 때, 닫혀있는 칸들 중 최대 몇 개의..

[알고스팟] XHAENEUNG

입력입력의 첫 줄에는 채점을 해야 할 수식의 수 T가 입력된다. 각 수식은 한 줄에 입력되며 형식은 다음과 같다. A operation B = C .여기서 A, B, C는 영문 단어로 나타낸 수를 뜻하며, operation은 더하기(+), 빼기(-), 곱하기(*)가 들어온다. A와 B를 구성하는 영문 단어는 0 이상 10 이하의 수를 나타내는 것으로써 순서대로 zero, one, two, three, four, five, six, seven, eight, nine, ten 중 하나가 항상 올바르게 주어진다. 반면 C의 경우 채점의 대상이므로 0부터 10까지의 수를 영문 단어로 표현한 것이 아닌 잘못된 문자열(예를 들어, 'hello')가 입력될 수 있다. 그럼에도 불구하고 이 문자열은 항상 길이가 10을..

[알고스팟] DIAMONDPATH

문제 정보문제 ID시간 제한메모리 제한제출 횟수정답 횟수 (비율)DIAMONDPATH2000ms65536kb2288995 (43%)출제자출처분류JongMan연습문제보기문제6 1 2 6 7 4 9 4 1 7 6 7 5 9 4 4 4 3 2 1 2 3 6 1 7위 그림과 같이 자연수들이 다이아몬드 형태대로 배치되어 있다. 이 때, 각 가로줄에서 한 개씩의 숫자를 골라 맨 위에서 맨 아래칸으로 내려오는 경로를 구성하고 싶다. 경로에서 앞뒤에 위치한 숫자들은 서로 인접해 있어야 한다: 예를 들어, 위 그림에서 세 번째 줄의 7 은 그 아랫 줄의 4 또는 1 과만 이어질 수 있다.이와 같은 경로 중, 포함된 숫자의 합이 가장 큰 경로를 찾고 해당 숫자의 합을 계산하시오.입력입력의 첫 줄에는 테스트 케이스의 수 C..

[알고스팟] Quantization

문제 정보문제 ID시간 제한메모리 제한제출 횟수정답 횟수 (비율)QUANTIZE3000ms65536kb34481101 (31%)출제자출처분류JongMan연습문제보기문제Quantization (양자화) 과정은, 더 넓은 범위를 갖는 값들을 작은 범위를 갖는 값들로 근사해 표현함으로써 자료를 손실 압축하는 과정을 말한다. 예를 들어 16비트 JPG 파일을 4컬러 GIF 파일로 변환하는 것은 RGB 색 공간의 색들을 4컬러 중의 하나로 양자화하는 것이고, 키가 161, 164, 170, 178 인 학생 넷을 '160대 둘, 170대 둘' 이라고 축약해 표현하는 것 또한 양자화라고 할 수 있다.1000 이하의 자연수들로 구성된 수열을 최대 S종류 의 값만을 사용하도록 양자화하고 싶다. 이 때 양자화된 숫자는 원..

[알고스팟, 백준 9663] N-Queen

문제 정보문제 ID시간 제한메모리 제한제출 횟수정답 횟수 (비율)NQUEEN1000ms65536kb33451693 (50%)출제자출처분류JongMan연습문제보기문제N-Queen 퍼즐은 N x N 크기의 체스판에 N 개의 퀸을, 서로 공격할 수 없도록 올려놓는 퍼즐이다. (퀸은 체스에서 가장 강력한 기물로, 자신의 위치에서 상하좌우, 그리고 대각선 8방향으로 이어진 직선 상의 어떤 기물도 공격할 수 있다)예를 들어, 맨 위의 그림은 8x8 크기의 체스판에 8개의 퀸을 서로 공격할 수 없도록 올려놓은 예를 보인다.체스판의 크기 N 이 주어졌을 때, N-Queen 퍼즐의 답이 모두 몇 개나 되는지를 계산하는 프로그램을 작성하시오. 한 답은 N개 퀸 모두의 위치로 정의되며, 한 퀸의 위치만 다르더라도 다른 답이..

[백준-10825] 국영수

[백준-10825] 국영수도현이네 반 학생 N명의 이름과 국어, 영어, 수학 점수가 주어진다. 이 때, 다음과 같은 조건으로 학생의 성적을 정렬하는 프로그램을 작성하시오.국어 점수가 감소하는 순서로국어 점수가 같으면 영어 점수가 증가하는 순서로국어 점수와 영어 점수가 같으면 수학 점수가 감소하는 순서로모든 점수가 같으면 이름이 사전 순으로 증가하는 순서로 시간 제한메모리 제한제출정답맞은 사람정답 비율1 초256 MB35391423106741.325% JAVA 1 시간초과; ㅎㅎ;;;;;; 결과는 맞는데..ㅎㅎㅎ;;;;...젠장 쉽게가려 햇다가 망한건가 ㅎ; public class Main { public static void main(String[] args) throws Exception{ java.u..