Home
CS with me
Cancel

랜덤 마라톤 (코스40)

백준 마라톤 (코스40) (8/8) 39주차는 일본어 문제 + 위상 정렬 4문제라는 문제 셋을 받아서 풀 수 없었다.. 그래도 이번 주차는 수학 + 애드 훅 구성으로 나와서 쉽게 풀만했다. A번 노트북 세 대를 가지고 왔다 (33515, B5) A번 문제 풀이 숫자 2개를 입력 받고 더 작은 것을 출력하면 되는 간단한 문제이다. int ...

Alkon 1주차 챌린지

Alkon 1주차 챌린지 (6/6) 이번에 학교 알고리즘 동아리 들어갔는데 매주 챌린지가 있다길래 다 풀어보려고 한다. 문제 난이도는 각각 B4, B2, S4, G5, G3, P4였는데 나름 풀만한 난이도였던 것 같다. A번 심부름 가는 길 (5554, B4) A번 문제 풀이 이동하는 시간이 초 단위로 4개가 주어지고, 그걸 다 더한 다음...

GCD(n, k) = 1(11689, G1, c++)

GCD(n, k) = 1 GCD(n, k) = 1 문제 자연수 n이 주어졌을 때, GCD(n, k) = 1을 만족하는 자연수 1 ≤ k ≤ n 의 개수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 n (1 ≤ n ≤ 10^12)이 주어진다. 출력 GCD(n, k) = 1을 만족하는 자연수 1 ≤ k ≤ n 의 개수를 출력한다. 풀이...

제곱수 찾기(1025, G5, c++)

제곱수 찾기 제곱수 찾기 문제 N행 M열의 표 A가 있고, 표의 각 칸에는 숫자가 하나씩 적혀있다. 연두는 서로 다른 1개 이상의 칸을 선택하려고 하는데, 행의 번호가 선택한 순서대로 등차수열을 이루고 있어야 하고, 열의 번호도 선택한 순서대로 등차수열을 이루고 있어야 한다. 이렇게 선택한 칸에 적힌 수를 순서대로 이어붙이면 정수를 하나 만들 수...

오아시스 재결합(3015, P5, c++)

오아시스 재결합 오아시스 재결합 문제 오아시스의 재결합 공연에 N명이 한 줄로 서서 기다리고 있다. 이 역사적인 순간을 맞이하기 위해 줄에서 기다리고 있던 백준이는 갑자기 자기가 볼 수 있는 사람의 수가 궁금해졌다. 두 사람 A와 B가 서로 볼 수 있으려면, 두 사람 사이에 A 또는 B보다 키가 큰 사람이 없어야 한다. 줄에 서 있는 사람의 ...

(dreamhack) EZ_RSA_PZ

EZ-RSA-PZ 오랜만에 드림핵 문제를 붙잡고 풀어봤다. 방학 때 암호학 스터디를 하면서 계속 암호학 공부를 하다보니 문제가 풀고 싶어졌다. 딱 풀고서 블로그에 깔끔하게 정리해야지 생각을 했는데 찾아보니 dreamhack 롸업은 별로 없는 것 같다. 기본 새싹~레벨 1 정도까지는 많은데 그 이상은 없고 다 비공개 처리한 글들 밖에 없는 것 같...

랜덤 마라톤 (코스38)

백준 마라톤 (코스38) (6/8) 사용자 수준에 맞춰서 문제를 랜덤으로 골라서 내주는 solved 랜덤 마라톤이다. 어느새 하다보니 38번째 코스에 도달했고, 실버 반, 골드 반이 나온다. 다 풀 수 있었는데 실수해서 시간내에 못 푼 것이 아쉽다. D번은 기간 내에 풀었는데 왜 X처리가 된 것인지는 모르겠고.. 골랜디 느낌으로 공부하기 재밌고...

가짜 소수(13319, P5, c++)

가짜 소수 가짜 소수 문제 문제에 수식이 들어있어서 사진으로 대체한다. 페르마의 소정리는 소수 p에 대해 a^(p-1) ≡ 1 (mod p)이다. 하지만 페르마의 소정리를 만족한다고 소수가 되는 것은 아니다. 지구이는 a를 2~500까지 확인해 페르마의 소정리를 만족한다면 소수라고 판별했다. 하지만 논리의 역은 참이 아니고, 반례가 있으니,...

팰린드롬(10942, G4, c++)

팰린드롬? 팰린드롬? 문제 명우는 홍준이와 함께 팰린드롬 놀이를 해보려고 한다. 먼저, 홍준이는 자연수 N개를 칠판에 적는다. 그 다음, 명우에게 질문을 총 M번 한다. 각 질문은 두 정수 S와 E(1 ≤ S ≤ E ≤ N)로 나타낼 수 있으며, S번째 수부터 E번째 까지 수가 팰린드롬을 이루는지를 물어보며, 명우는 각 질문에 대해 팰린드롬이다 ...

수 나누기 게임(27172, G4, c++)

수 나누기 게임 수 나누기 게임 문제 문제가 길어서 요약. 각 플레이어는 1~1000000 사이의 카드르 한 장 씩 가지고 모든 사람과 결투를 한다. 결투를 했을 때 결과는 상대 숫자를 내 숫자로 나누면 +1, 나뉘면 -1이 된다. 게임이 끝나고 모든 플레이어의 점수를 구하라. 풀이 처음엔 예전에 풀었던 누적합으로 최대 공약수 했던 문제가 생각났...