본문 바로가기

Category

(50)
리눅스 입문 1. 리눅스 명령 사용 1-1. 리눅스의 구조 - 커널: 컴퓨터의 모든 자원을 제어. - 셸: 사용자와 커널 사이의 중간자 역할, 리눅스는 배시 셸을 기본으로 사용. - 응용 프로그램: 매우 다양한 응용 프로그램을 제공. 1-2. 프롬프트 기호와 홈 디렉터리 - 프롬프트는 사용자의 명령 입력을 기다리는 표시로 배시 셸의 경우에는 기본적으로 $로 표시되며, 시스템 관리자의 경우에는 #로 표시된다. - ‘user1@myubuntu:~$'로 표시된 제목의 의미는 사용자 계정의 이름(user1), 호스트의 이름(myubuntu), user1 사용자의 홈 디렉터리(~)이다.(~) 이다. 1-3. 명령 행 편집 방법 - 문자 지우기: ← 키나 Delete키 - 단어 지우기: Ctrl+w - 행 지우기: Ctrl+u..
백준 17298번 오큰수 17298번: 오큰수 (acmicpc.net) 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 문제 요약: 수열에 있는 각 원소에 대해 오른쪽에 있으면서 가장 먼저 나온 큰 수를 의미하는 오큰수를 구해라. 문제 풀이: 누구나 이 문제를 풀 수는 있을 것이다. 이중 반복문으로 풀면 쉽게 해결되기 때문이다. 하지만 이 문제는 시간에 제한을 두고 있고 이는 곧 시간 복잡도와 관련이 있다. 그렇기에 스택을 사용해야 한다. http://colorscripter.com/s/RIUmbxz 공유된 코드 - Color Scripter 저..
백준 1157번 단어 공부 1157번: 단어 공부 (acmicpc.net) 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 문제 요약: 알파벳 대소문자로 된 단어가 주어지면, 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램이다. 단, 대문자 소문자는 구별하지 않고 가장 많이 사용된 알파벳이 여러 개가 존재하는 경우에는?를 출력한다. 문제 풀이: 이 문제를 아스키 코드를 이용해서 풀어보았다. 단어 알파벳의 아스키코드 값과 동일한 인덱스 크기를 증가시켜 빈도수를 저장한다. 그 후에는 최대 크기가 얼마인지 구하고, 만약 2개 이상의 알파벳이 최대 크기로 존재한..
백준 2675번 문자열 반복 2675번: 문자열 반복 (acmicpc.net) 2675번: 문자열 반복 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다 www.acmicpc.net 문제 요약: 문자열을 입력받고 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성한다. 문제 풀이: 반복할 문자를 입력한 배열은 str, 새로 생성한 문자열 배열은 tmp라고 생각한다 str의 문자열을 tmp에 복사하고 입력받은 횟수 R만큼 인덱스를 차례로 증가시키면서 반복하면 쉽게 해결이 가능하다 이때, 반복한 새 문자열의 저장은 str에 하도록 한다. http://colorscr..
백준 11729번 하노이 탑 이동 순서 11729번: 하노이 탑 이동 순서 (acmicpc.net) 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 문제 요약: 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 큰 순서대로 쌓여있다. 첫 번째 장대에서 세 번째 장대로 옮기려 할 때, 이동 횟수를 최소로 하는 이동 순서를 출력하는 프로그램을 작성한다. 단, 한 번에 한 개의 원판만을 옮길 수 있고 쌓여 있는 원판은 항상 위의 것이 아래 것보다 작아야 한다. 문제 풀이: 재귀함수를 이용해서 풀면 간단한 문제인데, 처음에..
백준 1002번 터렛 1002번: 터렛 (acmicpc.net) 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 문제 요약: 조규환의 좌표는 x1, y1 백승환의 좌표는 x2, y2 조규현이 계산한 류재명과의 거리는 r1 백승환이 계산한 류재명과의 거리는 r2이다. 류재명이 있을 수 있는 좌표의 수를 출력하는 프로그램을 작성해라. 단, x1, y1, x2, y2는 -10,000보다 크거나 같고, 10,000보다 작거나 같은 정수이고, r1, r2는 10,000보다 작거나 같은 자연수이다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. 문제 풀이: 이 ..
백준 9020번 골드바흐의 추측 9020번: 골드바흐의 추측 (acmicpc.net) 9020번: 골드바흐의 추측 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아 www.acmicpc.net 문제 요약: 골드바흐의 추측은 2보다 큰 모든 짝수는 두 소수의 합으로 나타낼 수 있다는 것이다. 또, 짝수를 두 소수의 합으로 나타내는 표현을 그 수의 골드바흐 파티션이라고 한다. 10000보다 작거나 같은 모든 짝수 n에 대한 골드바흐 파티션을 존재한다. 2보다 큰 짝수 n이 주어졌을 때, 두 소수의 차이가 가장 작은 n의 골드바흐 파티션을 출력하라. 출력하는 소수는 작은 것부터 먼저 ..
백준 1011번 Fly me to the ALpha Centauri 1011번: Fly me to the Alpha Centauri (acmicpc.net) 1011번: Fly me to the Alpha Centauri 우현이는 어린 시절, 지구 외의 다른 행성에서도 인류들이 살아갈 수 있는 미래가 오리라 믿었다. 그리고 그가 지구라는 세상에 발을 내려 놓은 지 23년이 지난 지금, 세계 최연소 ASNA 우주 비행 www.acmicpc.net 문제 요약: 이전 작동 시기에 k광년을 이동하였을 때 k-1, k 혹은 k+1 광년만을 다시 이동할 수 있다. x지점부터 정확히 y지점으로 이동하는데 필요한 공간 이동 장치 작동 횟수의 최솟값을 구하는 프로그램을 작성하라. 단, 처음 작동시킬 경우 1광년만 이동할 수 있다. ( 0