본문 바로가기

알고리즘

백준 알고리즘. 10809번. 알파벳 찾기 문제 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오. ​ 입력 첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다. ​ 출력 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다. ​ 예제입력 baekjoon 예제출력 1 0 -1 -1 2 -1 -1 -1 -1 4 3 -1 -1 7 5 .. 더보기
백준알고리즘 1065번 문제 풀이 & 해설 문제 ​ 어떤 양의 정수 X의 자리수가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오. ​ 입력 ​ 첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다. ​ 출력 ​ 째 줄에 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력한다. ​ 해설 ​ 본 문제는 등차수열인데 얼핏 알기에는 5, 10, 15, 20과 같은 수열로 착오할 수 있습니다. 문제지문에 보시면, 어떤 정수 X 의 자릿수가 등차수열을 이룬다면 이라고 적혀 있지요. 여기서 자릿수란, 숫자가 1자리인지 2자리 숫자인지, 3 또는 4자리 숫자인지 말하는 것입니다. .. 더보기
백준 알고리즘 4673번 풀이와 해설 백준 알고리즘 문제 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다. 예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 39 + 3 + 9 = 51, 다음 수는 51 + 5 + 1 = 57이다. 이런식으로 다음과 같은 수열을 만들 수 있다. 33, 39, 51, 57, 69, 84, 96, 111, 114, 120, 123, 129, 141, ... n을 d(.. 더보기
백준알고리즘 1008번 풀이 문제 두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오. ​ 입력 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) ​ 출력 첫째 줄에 A/B를 출력한다. 절대/상대 오차는 10-9 까지 허용한다. ​ 예제입력 1 3 예제출력 0.33333333333333333333333333333333 이 문제는 무지 간단해 보이는데 한가지를 모르면 좀 어려울수도 있습니다. ​ 그냥 무턱대고 cout b; cout.precision(20); cout 더보기
백준 알고리즘 3차 도전 17120 문제가 생각보다 어려워서 ㅎ.. ​ 다른 수월한 문제를 먼저 여러개 풀이했네요 대체적으로 C / C++의 기초를 정확히 이해하고 빠른 결과를 낼 수 있는 코드를 작성해야 풀리는 문제가 있더군요. ​ 오늘의 성과(?)입니다 :) 100 등 안에 언제 들지, 아직 까마득하군요 ㅎ.. ( 100등인 분이 현재까지 맞춘문제가 1288 문제.. ) 뭐 그래도 거의 10,000등이 상대적으로 올라가서 만족스럽습니다 ㅎㅎ 한가지 팁을 드리자면, ​ cout 명령에서 endl 은 되도록 쓰지 않는 것이 좋습니다. 속도가 느리기 때문인데요. ​ cout 더보기
백준 알고리즘 2차 도전. 흠.. 빠른 랭킹업을 위해 아직 쉬운 문제만 풀고 있는데요. 16개 풀었는데 35,571 위. 부쩍 올라가네요 :) ​ 17120 문제가 아무도 못 푼 문제인데 좀 쉬워보여 시도해봤다가 어라? 생각대로 안 풀려서 나중에 도전해봐야 할듯 합니다 :) 더보기
백준 알고리즘 첫번째 문제는 1000번 1번부터 시작할 줄 알았는데, 시작번호는 1000번부터군요. 첫문제는 음?.. 그냥 사용법을 익히는 연습문제 수준입니다. 온코더와 다른 점은 온코더는 풀이할 함수내부만 구현하면 되지만, 백준 알고리즘의 경우 문제를 풀때 완전히 공란으로 제공되기 때문에 전체 코드를 모두 구현해야 하는데, 다행히도 기본 샘플코드는 주어집니다. 문제 풀이에 들어가면 '여기'라고 표시된 부분이 있을 겁니다. 클릭하면 첫번째 문제는 정답 전체를 그대로 공개해줍니다. 앞으로 이런식으로 풀라는 것이지요. ​ 입력은 cin 으로 출력은 cout 으로 풀면 되는 것으로 보입니다. 다시 전 화면으로 돌아와서 제출 탭을 선택하면 정답을 제출할 수 있습니다. 소스코드에 그대로 코드를 넣어주시면 되는데요. 간단한 코드라 크레이는 복붙하지 않고.. 더보기
백준알고리즘?! 헉! 알고리즘 관련해서 블로그를 검색하다 보다 보니 "백준알고리즘 풀이" 이런 글들이 많이 보이길래 처음에는 알고리즘 기법인줄 알았습니다. 근데 이상하게 숫자가 뒤에 5자리 정도 붙길래 이게 뭘까 하고 검색해보니 ​ ! !! !!! ​ 일만개 이상의 알고리즘 문제를 풀어볼 수 있는 사이트가 있더라는 것이지요! 숫자는 바로 백준알고리즘 문제번호이구요! https://www.acmicpc.net Baekjoon Online Judge Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다. www.acmicpc.net 가입해보니 인사글이 나오는데 최백준이라는 분이 운영하는 사이트입니다. ​ 게다가 참가자가 무려 13만명 ! 무시무시한 개발자 랭킹 사이트지요. ​ 규모면.. 더보기