https://www.acmicpc.net/problem/14593◎알고리즘 [풀이과정]위 문제에 알려준 예외를 if문을 사용하여 작성하면 쉽게 해결할 수 있다.해결한 문제 점수의 총합이 높은 참가자가 더 높은 순위를 가진다.점수의 총합이 같은 경우, 제출 횟수가 적은 참가자가 더 높은 순위를 가진다.점수의 총합과 제출 횟수가 같은 경우, 마지막으로 점수를 획득한 문제의 업로드 시간이 빠른 참가자가 더 높은 순위를 가진다.가장 첫번째는 종합점수를 기준으로 1등 참가자의 번호를 저장해 놓는다.저장해 놓은 참가자의 종합점수 비교할 종합점수와 같다면 제출 횟수가 적은 참가자를 1등 참가자로 저장한다.저장해 놓은 참가자의 제출 횟수까지 동일하다면 마지막인 제출시간을 비교하여 가작 적은 참가자의 번호를 1등 참가..
전체 글
https://www.acmicpc.net/problem/2028 입력값이 어떤 자리의 수인지를 확인하고 그 값을 나눠 제곱하기 전의 수와 비교하여 YES or NO를 출력해 주면 되는 간단한 문제이다. 하지만 내가 고민한 것은 if을 사용하여 입력받은 값이 10의 자리인지 100의 자리인지를 확인하는 방법 말고 뭔가 알 수 있는 방법이 있다면 훨씬 간단하게 코드를 짤 수 있을 거 같은데 그 방법이 도저히 생각이 나지 않았다. 그래서 뭐랄까 코드가 굉장히 더럽다(?)랄까.. 무튼 별로 마음에는 들지 않는 코드가 된거 같다.◎알고리즘 [풀이과정]입력받은 값이 10의 자리인지 100의 자리인지 1000의 자리인지를 확인한후 각 자리에 맞는 수를 제곱한 수와 나눠 나머지가 제곱하기 전의 숫자와 일치하는지 비교..
https://www.acmicpc.net/problem/11466랜덤 마라톤 문제를 꾸준히 푼 지 며칠 안되긴 했지만 먼가 수학문제가 좀 많이 나오는 거 같은 느낌적인 느낌지금은 정말 간단한 수학적 지식을 요구하기 때문에 상관이 없지만 난이도가 올라가면 이거 이거 못 풀 수도 있겠는걸◎알고리즘 [풀이과정]아래에 제시해 주는 예제를 보고 든 생각은 정사각형 종이 3장을 얻는 것이기 때문에 아래 예제처럼 2층으로 쌓거나 아니면 3층으로 쌓는 저런 구조밖에는 나올 수 없을 거 같다는 생각을 했다. 그래서 생각한 방법은 가로, 세로 길이 중에 긴 것은 3을 나누고 짧은 것은 2를 나누어 값을 비교하여 큰 값을 출력한다는 생각이다.이 방법을 사용하면 가장 긴 정사각형을 구할 수 있겠구나 생각했다. 하지만 한 가..
https://www.acmicpc.net/problem/15751문제엄청난 양의 소 배설물을 치우는 것은 농부 존이 가장 싫어하는 농사일 중 하나입니다. 이 과정을 간소화하기 위해 그는 독창적인 발명품을 개발했습니다: 바로 배설물 순간 이동 기계입니다! 트랙터 뒤 카트를 연결해 한 지점에서 다른 지점으로 소 배설물을 끌며 운반하는 대신, 순간 이동 기계를 이용하면 배설물을 바로 한 지점에서 다른 지점으로 움직일 수 있습니다. 농부 존의 농장은 긴 직선 도로를 따라 지어졌으므로, 농장의 특정 장소는 이 도로에 따른 위치로 (수직선 위 점의 형태로 효율적으로) 묘사할 수 있습니다. 순간 이동 기계는 두 수 x, y로 묘사되는데, 이는 기계가 위치 x에 있는 배설물을 곧바로 위치 y로 옮기거나 그 반대의 동..
https://www.acmicpc.net/problem/22938요즘 계속 랜덤마라톤만 풀고 있는데 풀다 보면 난이도가 올라가는 건지 아직 잘 모르겠다.아직까지는 너무 쉽다는 생각이 들어서... 몇일 풀어보다 보면 답이 나오지 않을까 생각한다. 문제로 돌아와서 이 문제는 피타고라스의 정리만 알고있다면 어렵지 않게 해결할 수 있는 문제라는 생각이 든다.원이 겹쳐있는지 아닌지를 알기 위해서는 두 원의 반지름의 합과 원의 중심점의 길이를 비교하면 된다.예를 들어 원의 반지름의 합이 10이고 원의 중심점의 길이가 11이라고 하면 중심점의 길이가 더 길기 때문에 겹치는 부분이 없다고 볼수 있다.import java.util.Scanner;public class Main { public static void m..
https://www.acmicpc.net/problem/23253실버이상 난이도문제에서 오류 없이 한 번에 통과하는 건 굉장히 오랜만인 거 같다. 문제 분석을 조금 해보자면 이 문제가 Stack으로 풀수 있는지는 잘 모르겠지만 아무리 봐도 배열을 사용해서 문제를 해결할 수 있겠다는 생각이 들어 짜봤는데 한번에 통과해서 좀 당황스러웠다.(그런데 솔직히 런타임 애러 날 거라고 생각했는데 통과돼서 심히 매우 당황)◎알고리즘 [풀이과정]내가 배열로 문제를 풀수 있겠다고 생각한 이유는 가장 아래에 있는 책과 그다음 책의 번호를 비교하여 아래 책의 번호가 작다면 책을 순서대로 나열할 수 없다고 생각했기 때문이다. 가장 나중에 들어간 값이 가장 먼저 나오는 LIFO의 형태를 가진 Stack의 구조상 아래에 자신보다..
https://www.acmicpc.net/problem/2160◎알고리즘 [풀이과정]개인적으로 문자보다 정수가 뭔가 작업하기 편해서(. 이면 0), (X면 1)을 넣는 식으로 값을 넣고 문제를 풀었다.문제를 풀면서 처음으로 4중 for문을 사용하였다. 그대로 사용하면 보기 너무 힘들꺼 같아서 이미지를 비교하는 코드는 함수로 처리하여 따로 분류하였다.import java.util.Scanner;public class st_2160 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int num = sc.nextInt(); int [][]..
문제 560x400mm 이미지를 표준 US Letter 크기 용지(약 216x280mm)에 복사하면서 이미지 크기를 최대한 크게 유지해야 하는 경우 어떻게 합니까? 이미지를 90도 회전("가로" 모드)한 다음 원래 크기의 50%로 줄여 200x280mm가 되도록 할 수 있습니다. 그러면 가장자리가 겹치지 않고 용지에 맞게 됩니다. 여러분의 임무는 이 문제를 전반적으로 해결하는 것입니다. 입력 입력은 하나 이상의 테스트 케이스로 구성되며, 각각은 AxBmm 이미지와 CxDmm 종이를 나타내는 공백으로 구분된 네 개의 양의 정수 A, B, C, D를 포함하는 단일 라인입니다. 모든 입력은 1,000보다 작습니다. 테스트 케이스 다음에는 입력의 끝을 나타내는 네 개의 0을 포함하는 라인이 있습니다. 출력 각 ..
개인적인 생각으로 가장 쓸데없는 문제가 아닌가 하는 생각을 가지고 있는 문제 유형이다. 이유는 그저 단순한 수학문제에 지나지 않는다고 생각하기 때문이다.뭐랄까 알고리즘문제라기보다는 간단한 수학문제를 코드로 옮기는 수준밖에 되지 않는다. 뭐 그런 느낌.....아직 컴맹인 나는 그저 이렇게 느낄 뿐이다.내가 알지 못하는 이유가 분명 있긴 하겠지 하는 생각이다.◎알고리즘 [풀이과정]위에서 말한 것처럼 글을 따라 사칙연산을 코드로 옮길 수 있다면 어렵지 않게 해결할 수 있는 문제라고 생각한다.import java.util.Scanner;public class Main { public static void main(String[] args) { // TODO Auto-generated method stub S..
https://www.acmicpc.net/problem/6030문제농부 존은 목초지의 특별한 장소에 베시를 위한 간식을 뿌렸습니다. 똑똑한 소는 맛있는 우유를 만든다는 것을 누구나 알고 있기 때문에 FJ는 베시가 생각해야 하는 위치에 간식을 놓았습니다. 그는 그녀에게 두 개의 숫자 P와 Q(1 FJ가 Bessie에게 P = 24, Q = 2를 준다고 가정합니다. 각각의 요인은 다음과 같습니다.P = 24 => 1, 2, 3, 4, 6, 8, 12, 24Q = 2 => 1, 2따라서 베시는 격자 위치를 확인합니다: (1, 1), (1, 2), (2, 1), (2, 2), (3, 1)...베시가 확인해야 할 모든 사항을 인쇄해 주세요.입력1번째 줄: 공백으로 구분된 두 정수: P와 Q출력1번째 줄..?: ..