본문 바로가기
반응형

알고리즘63

#1041 주사위(simple Implement) 이번 문제는 정육면체에 대한 기하학적 구조를 상상할 수 있으면 쉽게 풀 수 있는 문제입니다. 그래서인지 난이도도 상당히 낮습니다. 난이도는 Silver III 입니다. Bronze 난이도에 비해서는 어렵다고 할 수 있겠지만요. 현재 시점에서 정답비율은 22.6%로 낮습니다. 정답자도 531명이고요. 주사위를 \(N^3\) 이용해서 변마다 N개의 주사위가 위치하도록 정육면체를 만들었을 때, 주사위의 눈의 갯수의 합을 최소로 할 때, 그 값을 구하는 것입니다. 문제의 링크는 다음과 같습니다. https://www.acmicpc.net/problem/1041 1041번: 주사위 첫째 줄에 N이 주어진다. 둘째 줄에 주사위에 쓰여 있는 수가 주어진다. 위의 그림에서 A, B, C, D, E, F에 쓰여 있는 수.. 2019. 12. 28.
#74 자릿수 팩토리얼 연결 고리 10진수의 수를 각각의 자릿수를 분해해서 재조합하다보면 재미있는 수를 얻을 수 있습니다. 예를 들어서 145라는 수를 분해해서 팩토리얼을 취한후 합해보면, \(145 \to 1! + 4! + 5! = 1+24+120=145\)라는 결과를 얻게 됩니다. 이와 같이 같은 수가 나올 수 있지만, 어떤 수는 위의 작업을 반복하다보면, 자신의 수가 되기도 하고 중간에 나왔던 수가 되어 싸이클을 반복할 수도 있습니다. 이 문제는 이러한 수들의 연결고리가 반복되기 전까지 얼마나 오래 가는가에 대한 문제입니다. 난이도 15% 정도로 구현에 어려움이 없는 문제입니다. 문제의 링크입니다. https://projecteuler.net/problem=74 Problem 74 - Project Euler The number 1.. 2019. 12. 27.
백준 #1038 감소하는 수 이 문제는 한참 백준 문제들을 풀 때 풀었던 문제네요. 그 당시에는 하루에 20여 문제도 풀곤 했었는데, 이제는 문제 수준도 어려워지고 생각도 많이 해야 해서 많이 못 풀고 있습니다. 감소하는 수라는 것은 31, 7543, 941 과 같이 숫자가 감소하는 방향으로만 이루어진 수입니다. 이런 숫자들을 크기순으로 나열했을 때, 정해진 순번의 숫자를 출력하면 됩니다. 문제를 잘 읽어보시다 보면 문제에 함정이 숨어 있습니다. 이 문제는 Gold IV 수준의 문제로 되어 있습니다. 문제의 링크는 다음과 같습니다. https://www.acmicpc.net/problem/1038 1038번: 감소하는 수 음이 아닌 정수 X의 자릿수가 가장 큰 자릿수부터 작은 자릿수까지 감소한다면, 그 수를 감소하는 수라고 한다. .. 2019. 12. 27.
백준 #1037 약수 C/C++ 언어 초반에 연습문제로 자주 나오는 것이 약수 구하기와 소수 구하기네요. 약수는 나머지 연산자 %의 용법만 잘 알면 손쉽게 구할 수 있습니다. 문제의 링크는 다음과 같습니다. https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되지 않는다. www.acmicpc.net 이번 문제는 어떤수 N에 대하여 1과 자기자신인 N을 제외한 약수들이 순서없이 나열되었을 때, 원래의 수를 알아내는 것입니다. 정석이라면 최소공배수를 찾아야 합니다. 그런데 그렇게 안 하고 더 간.. 2019. 12. 26.
백준 #1036 36진수 이번 문제는 꽤 난이도가 높은 문제입니다. 오늘 날짜의 맞은 사람은 143명, 정답률 16.7% 문제네요. 저도 한번 틀렸습니다 나왔네요. 물론 따지고 들면 복잡한 알고리즘이 들어가는 문제는 아닙니다. 풀고나서 생각해보면 당연한 것인데 틀리는 것들이죠. 36진수는 0부터 9까지 숫자와 A부터 Z까지 문자를 합쳐서 표현할 수 있는 진법입니다. 사용할 일은 없는 진법이긴 하지만, 파이썬에서는 36진법까지 표현 가능합니다. 파이썬으로 푼다면 쉽게 풀지도 모르겠네요. 문제 링크는 아래와 같습니다. https://www.acmicpc.net/problem/1036 1036번: 36진수 첫째 줄에 수의 개수 N이 주어진다. 둘째 줄부터 N개의 줄에 수가 주어진다. N은 최대 50이고, 수의 길이도 최대 50이다. .. 2019. 12. 26.
백준 #1032 명령 프롬프트 이번 문제는 문자열 처리하는 프로그램을 작성하는 것입니다. 문자열 처리는 성격상 배열, 포인터, C 문자열의 특성 등을 잘 알지 못하면 어려울 수 있습니다. 백준 사이트의 문제는 아래의 링크에 있습니다. https://www.acmicpc.net/problem/1032 1032번: 명령 프롬프트 첫째 줄에 파일 이름의 개수 N이 주어진다. 둘째 줄부터 N개의 줄에는 파일 이름이 주어진다. N은 50보다 작거나 같은 자연수이고 파일 이름의 길이는 모두 같고 길이는 최대 50이다. 파일이름은 알파벳과 "." 그리고 "?"로만 이루어져 있다. www.acmicpc.net 문제는 주어진 여러개의 문자열을 보고 공통된 문자들은 그대로 두고 공통되지 않은, 즉, 그 위치에 올 수 있는 문자들이 여러가지인 경우 ?을.. 2019. 12. 25.
728x90