본문 바로가기

전체 글1014

Python 336제] 세종대 프로그래밍 언어 과제3 3번 주사위 게임 출처 : 반크_설과 대보름 문제]A와 B가 주사위 게임을 합니다. 주머니 속에는 빨간색, 노란색, 파란색 주사위가 있습니다. 주사위는 A와 B가 번갈아 뽑습니다. 뽑은 주사위를 A와 B가 번갈아 던집니다. ​이때, 빨간색 주사위가 나오면 게임을 멈춥니다. 노란색 주사위가 나오면 주사위 숫자만큼 값을 누적합니다. 만약 주사위의 값이 1~6 사이가 아니라면 주사위를 다시 던집니다. 파란색 주사위가 나오면 주사위 숫자만큼 값을 뺍니다. 만약 주사위의 값이 1~6 사이가 아니라면 주사위를 다시 던집니다. A와 B 중 누적값이 30을 넘으면 게임을 중지합니다. ​A와 B의 누적값을 출력하고 어느 학생이 승리했는지 알려줍니다. (누적값이 작은 학생이 승리합니다.) ​ [입력 예시 1] yellow 1 2 yello.. 2025. 3. 18.
C언어 237제] NCP Nextop Lv.3 애너그램 출처 : 반크_반크 20년 백서 문제]2013 HSPC 2번 두 단어 A와 B가 주어졌을 때, A에 속하는 알파벳의 순서를 바꾸어서 B를 만들 수 있다면, A와 B를 애너그램이라고 한다. 두 단어가 애너그램인지 아닌지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수(출력 각 테스트 케이스마다 애너그램인지 아닌지를 예체 출력과 같은 형식으로 출력한다.  출력 형식 정확한 출력 형식은 제출에서 언어를 Java로 설정하면 확인할 수 있다. 예제 입력 1 3 blather reblath maryland landam bizarre brazier 예제 출력 1 blather & reblath are anagrams. maryland & landam are NOT anagrams. bizarre .. 2025. 3. 18.
C언어 236제] NCP Nextop Lv.3 3대 측정 출처 : 반크_반크 20년 백서 문제]2020 Sogang Programming Contest Master A번 (서강대학교)2020 Sogang Programming Contest Open I번 웨이트 트레이닝에서의 3대 측정은 스쿼트, 벤치프레스, 데드리프트의 중량을 측정하는 것이다. 하지만 세 명이 한 팀을 이루어 출전하는 전국 대학생 프로그래밍 대회(ICPC)의 참가자들은 다소 독특한 방법으로 3대를 측정하는데, 바로 팀원 각각의 실력을 수치로 나타내 주는 ‘코드포스 레이팅’을 비교하는 것이다. 웨이트 트레이닝계에는 3대 중량을 합쳐 500kg를 넘지 못하는 사람은 ‘언더아머’ 브랜드의 옷을 입지 못한다는 암묵적인 룰이 있으며. 이들을 단속하는 ‘언더아머 단속반’이 존재한다는 소문도 있다. Sog.. 2025. 3. 18.
C언어 235제] NCP Nextop Lv.3 UCPC는 무엇의 약자일까? 출처 : 반크_반크 20년 백서 문제]2018년 UCPC 예선 G번. UCPC는 '전국 대학생 프로그래밍 대회 동아리 연합 여름 대회'의 줄임말로 알려져있다. 하지만 이 줄임말이 정확히 어떻게 구성되었는지는 아무도 모른다. UCPC 2018을 준비하던 ntopia는 여러 사람들에게 UCPC가 정확히 무엇의 줄임말인지 물어보았지만, 아무도 정확한 답을 제시해주지 못했다. ntopia가 들은 몇 가지 답을 아래에 적어보았다. Union of Computer Programming Contest club contest Union of Computer Programming contest Club contest Union of Computer Programming contest club Contest Union o.. 2025. 3. 17.
C언어 234제] NCP Nextop Lv.3 포켓몬 GO 출처 : 반크_반크 20년 백서 문제]2016/2017 COCI 크로아티아 정보학 공개 경쟁 #2 1번 포켓몬GO 모바일 게임을 즐겨 하는 지우는 Jetpack Joyride 에 금새 질렸고 포켓몬 GO를 시작했다! 이 게임의 재미있는 점은 포켓몬을 진화시킬 수 있다는 것이다. 지우가 Pi 라는 포켓몬을 진화시키기 위해서는 해당 포켓몬의 Ki 개의 사탕이 필요하다. 진화가 된 후에는 2개의 사탕을 돌려받는다. 각 포켓몬은 그들 종의 사탕으로만 진화할 수 있다. 지우는 N종의 포켓몬이 있고 Pi 라는 포켓몬의 사탕은 Mi 개를 가지고 있으며 지우는 진화시킬 수 있는 포켓몬의 총 마리수를 궁금해한다. 또한, 지우는 가장 많이 진화시킬 수 있는 포켓몬이 무엇인지 알고 싶어한다. 만약 그런 포켓몬들이 여러 종이.. 2025. 3. 12.
C언어 233제] NCP Nextop Lv.2 동전 0 출처 : 반크_반크 20년 백서 문제]준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다. 동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) 출력 첫째 줄에 K원을 만드는데 필요한 동전 개수의 최솟값을 출력한다. 예제 입력 1  10 4200 1 5 10 50 100 500 1000 5000 10000 50000 예제 출력 1  6 예제 입력 .. 2025. 3. 12.
Python 335제] NCP Nextop Lv.1 나머지 출처 : 반크_설과 대보름 문제]출처 : 백준_3052번 참고]C언어 164제] 2006/2007 COCI 크로아티아 정보학 공개 경쟁 #1 나머지 참고풀이]import sys #수 10개를 입력받는다. L=[] for i in range(10):     a=int(input())     if 0        L.append(a)     else:         sys.exit() #42로 나눈 나머지값을 카운트하기 위하여 #나머지 값 리스트에 초기값 0을 셋팅한다. count=[0 for i in range(42)] #나머지 값을 구한다. for d in L:     count[d%42]+=1 #나머지의 종류를 구한다. kind=0 for d in count:     if d: kind+=1 #결과를 .. 2025. 3. 3.
Python 334제] NCP Nextop Lv.1 사칙연산 출처 : 반크_설과 대보름 문제]두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오.  입력 두 자연수 A와 B가 주어진다. (1 ≤ A, B ≤ 10,000) 출력 첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A*B, 넷째 줄에 A/B, 다섯째 줄에 A%B를 출력한다. 예제 입력 1  7 3 예제 출력 1  10 4 21 2 1 출처 : 백준_10869번 참고풀이]A,B=map(int,input().split()) if 1    print(A+B)     print(A-B)     print(A*B)     print(A//B)     print(A%B) 참고풀이 결과]     대한민국의 아름다운 영토, 독도의 봄 2025. 3. 3.
그리디 알고리즘(욕심쟁이 알고리즘, Greedy Algorithm) 그리디 알고리즘(욕심쟁이 알고리즘, Greedy Algorithm)이란 "매 선택에서 지금 이 순간 당장 최적인 답을 선택하여 적합한 결과를 도출하자"라는 모토를 가지는 알고리즘 설계 기법이다. 예를 들어 5개의 도시를 모두 한 번씩만 거쳐서 여행하고 싶은데 여행 도중 기름값을 아끼기 위해 가능하면 짧은 경로를 이용하고 싶다고 가정하자. 이 문제를 해결하기 위해 사용할 수 있는 전략은 몇 가지가 있다. 가능한 120가지의 경우의 수를 브루트 포스로 모두 살펴봐서 그중 가장 짧은 경로를 선택하는 것도 하나의 전략이 될 것이고, 외판원 순회 문제 문서에 나와있는 복잡한 전략을 쓸 수도 있고, "지금 내가 있는 도시에서 고를 수 있는 도로 중 가장 짧은 도로를 선택한다"라는 방법, 즉 그리디 알고리즘을 쓸 수.. 2025. 3. 1.
C언어 232제] 유리 구슬(Marbles) 출처 : 반크_반크 20년 백서 문제]나는 유리 구슬을 모으는데, 그 구슬들을 담아놓을 상자를 사려고 한다. 상자는 두 가지 유형으로 나눌 수 있다. 타입 1: 하나에 C1 달러며 정확하게 n1개의 구슬을 담을 수 있다. 타입 2: 하나에 C2 달러며 정확하게 n2개의 구슬을 담을 수 있다. 각 상자에는 정확하게 주어진 용량만큼의 구슬을 집어넣을 것이며, 총비용은 최소한으로 줄였으면 한다. 여러 상자에 구슬을 나눠 담는 가장 좋은 방법을 찾아보자. 입력 입력 파일에는 테스트 케이스가 여러 개 들어갈 수 있다. 각 테스트 케이스는 정수 n(1 이상 2,000,000,000 이하)이 들어있는 줄로 시작한다. 그 다음 줄에는 Ci과 ni이, 그 다음 줄에는 C2와 n2가 입력된다. 여기에서 C1, C2, n1.. 2025. 3. 1.
C언어 231제] 스미스 수(Smith Numbers) 출처 : 반크_반크 20년 백서 문제]1982년, 앨버트 윌란스키(Albert Wilansky)라는 수학자는 그가 가지고 있던 주소록을 흝어보다가 그의 처제인 H. 스미스(H. Smith)의 전화번호에 특이한 속성이 있다는 것을 발견했다. 그 수의 각 자리 숫자 합은 그 수의 소인수 각 자리 숫자의 합과 같았다. 잘 이해가 안 된다면 실제 숫자를 예로 들어서 생각해보자. 스미스의 전화번호는 493-7775였다. 이 수는 다음과 같이 소인수분해할 수 있다. 4937775 = 3*5*5*65837 전화번호의 각 자리 숫자의 합은 4+9+3+7+7+7+5=42이고, 소인수의 각 자리 숫자의 합은 3+5+5+6+5+8+3+7=42이므로 둘 다 42로 같은 값을 가진다. 윌란스키는 이런 유형의 수에 처제의 이름을.. 2025. 2. 27.
C언어 230제] 소수 네 개의 합(Summation of Four Primes) 출처 : 반크_반크 20년 백서 문제]워링(Waring)의 소수 가설은 모든 홀수는 소수 또는 소수 세 개의 합이라고 주장하는 가설이다. 골드바흐(Goldbach)의 가설은 모든 짝수는 소수 두 개의 합이라고 주장하는 가설이다. 이 두 문제는 200년이 넘게 해결되지 않고 있다. 이 문제와 관련하여 조금 간단한 문제를 풀어보자. 주어진 정수를 정확하게 소수 네 개의 합으로 표현하는 방법을 찾아내자. 입력 한 줄에 하나씩의 정수 n(N출력 각 입력 케이스 n에 대해 합해서 n이 되는 네 개의 소수를 출력한다. (한 줄에 한 케이스) 입력된 수가 소수 네 개의 합으로 표현될 수 없으면 "Impossible"이라고 출력한다. 답이 여러 가지 나올 수도 있는데, 그런 경우에는 아무 답이나 출력해도 된다. 입력 .. 2025. 2. 19.
반응형