본문 바로가기

반응형

programming/알고리즘 풀이

(40)
[백준 알고리즘] 2292번 - 벌집 1. 문제 및 예시 실행결과 수학 카테고리에서 문제를 풀기 전 문자열 카테고리와는 다른 종류의 겁이 들었던 기억이 난다. 코딩을 잘 한다는 것이 아직도 뭔지 모르겠다. 문법을 잘 알고, 에러를 만들지 않는 사람도 있고 수학적 기교로 코드수를 줄이거나 알고리즘을 잘 설계하는 사람이 있을 것이다. 전자와 후자 전부 대단하지만, 나는 이 모든 부류를 공부할 때 겁을 먹는 것 같다. 언젠가는 이런 겁도 안먹기를 바란다. 이번 문제는 규칙을 파악하는 것이 매우 중요한 문제이다.(모든 코딩문제가 그런 것 같지만......) 실제로 나는 이 문제를 위해 그림도 그렸다 ㅠㅠ 다음은 문제와 예시 실행결과이다. 출처: https://www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육..
[백준 알고리즘] 2941번 - 크로아티아 알파벳 1. 문제, 예시 시행결과 이번 문제는 나름 시간이 걸린 문제이다. 문법으로 틀린 문제가 아니라, 논리로 우류가 났기 때문에...... 사실 이런 문제도많이 틀려가면서 스스로 부족한 점을 알아가려는 것에 목적이 있지만, 찾는데 꽤 오랜 시간이 걸렸다...... 결론 부터 말하면 논리 연산자 때문인데, 이 부분을 자세히 설명하는 새로운 글을 쓸 계획이다. 이 글에서는 문제 풀이 만을 설명할 것이다. 다음은 문제 및 예시 실행결과이다. 문제: https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 문제 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- d..
[백준 알고리즘] 1157번 - 단어공부 (strupr() 함수) 1. 문제 및 예시 실행결과 이번 문제에서 문제를 두번이나 틀렸다(내 정답률 ㅠㅠ) 사실 나의 잘못이기도 하다...... 컴파일 에러도 두번이나 발생하였는데 strupr() 함수 때문이었다. 차라리 이런 컴파일 에러는 구글을 통해 고칠 수 있지만, 오늘과 같은 논리 오류는 정말 머리를 아프게 한다...... 다음은 문제와 예시 실행 결과이다. 출처: https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 문제를 보면 대소문자를 구별하지 않는데, 이 부분을 처리할 때 컴파일 에러가 발생..
[백준 알고리즘] 2675번 - 문자열 반복 1. 문제 예시 실행결과 이번 문제는 입력받은 값만큼 한 문자를 반복해서 출력하는 문제이다. 나름 간단한 문제이지만, 결과 문자열을 어떻게 다루냐에 따라서 나름 생각이 깊어질 수 있는 문제이다. 다음은 문제와 예시 실행결과이다. 출처: https://www.acmicpc.net/problem/2675 2675번: 문자열 반복 문제 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 www.acmicpc.net 다시한번 말하지만 이 문제는 출력형식에 따라 까다로워질 수 있다. 다음은 풀이 과정이다. 2. 문제풀이 첫번째 입력은 간단하다. 솔직히 말하면 두번째 입력..
[백준 알고리즘] 10809번 - 알파벳 찾기 1. 문제 및 예시 실행결과 항상 문제를 풀면 실전처럼 풀어야 하지 않을까 하고 생각한다. 그래서 오늘 문제은 문제를 풀때, 구글을 사용하지 않고 풀어보았다. 신기하게도 알파벳을 찾는 문제가 나왔다. 분명 이런 역할을 하는 함수는 존재한다. 그러나 나는 그것을 까먹었다. 내가 어떤 코드를 작성하고 있을 때는, 바로 구글을 켰겠지만, 나는 지금 코딩테스트를 본다고 생각하고 아는 문법으로 문제를 풀기 시작하였다. 물론 관련된 함수도 이번 글에서 소개할 것이다. 다음은 문제와 예시실행결과이다. 출처: https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백..
[백준 알고리즘] 11720번 - 숫자의 합 1. 문제, 예시 실행결과 이번 카테고리는 문자열! 가장 긴장하고 있는 부분이다. 사실 포인터나 배열같은 부분도 자잘한 문법들이 많고 틀리기 쉬운 부분이 많다고 생각한다. 나도 시험 보기 전날에만 달달 외웠지 막상 문자열이나 문자열을 가리키는 포인터에 대한 문법문제를 푼다면 많은 문제에서 어려움을 느낄것이다. 아마 구글이 없었다면, 항상 전공책을 들고다녔을 것 같다...... 이번 카테고리를 풀면서 나의 이런 부분을 보완하고 그런 과정을 블로그에 올렸으면 좋겠다. 다음은 이번에 풀어볼 문제이다. 출처: https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. ww..
[백준 알고리즘] 1065번 - 한수 1. 문제, 예시 실행결과 함수 카테고리의 마지막 문제이다. 문제를 요약하자면, 등차수열과 관련된 문제이다. 등차수열은 이미 고등학교시절 배운 내용이고, 잘 알려진 일반항도 존재하기에, 내가 한 일은 첫항과, 공차를 구하는 것이었고 이를 함수로 구현한것 밖에 없다. 다음은 문제와 예시 실행결과이다. 출처: https://www.acmicpc.net/problem/1065 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 �� www.acmicpc.net 문제는 간단하다. 한수를 이해하는데 어려움이 있을 수 있다. 한수에 대해서는 문제 풀이 과..
[백준 알고리즘] 4673번 - 셀프 넘버 (qsort()의 사용) 1. 문제 및, 실행결과 예시 단계별로 문제 풀기에서 첫 함수 카테고리 문제이다. 15596번이 빠진것에 의아해하시는 분들이 있을 수도 있지만, 이 문제를 올리기에는 너무 쉽다는 생각이 들었다...... 이 문제를 풀면서 우리 교수님이 하셨던 말씀이 떠올랐다. "프로그래머는 자신이 모르는 분야여도, 공식이나 일반식이 주어진다면 그것을 코드로 구현할 수 있어야 합니다." 처음엔 그저 그런 이야기라고 생각했지만, 이 문제를 풀면서 왜 그런 말을 해주셨는지 뼈저리게 느끼게 되었다. 다음은 문제와 실행결과 예시이다. 출처: https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 문제 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대..