본문 바로가기

728x90

분류 전체보기

[백준알고리즘] 1065번: 한수 -C++ [백준알고리즘] 1065번: 한수 -C++ 1065번: 한수 (acmicpc.net) 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net 정말 오랜만에 한수 문제를 풀었다. 100 미만은 무조건 등차수열이고, 1000은 등차수열이 아니다. 나머지 3자리 숫자에 대해 등차수열을 이루는 지만 확인해주면 된다. # include int main(void) { int n; std::cin >> n; int answer = 0; for (int i = 1; i 더보기
[백준알고리즘] 1316번: 그룹 단어 체커 -C++ [백준알고리즘] 1316번: 그룹 단어 체커 -C++ 1316번: 그룹 단어 체커 (acmicpc.net) 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net C++ 연습을 시작해야겠다.. 토이 프로젝트 하는거 아니면 알고리즘 연습할겸 하는 것도 괜찮은 것 같다. 암튼 그룹 단어인 개수를 세어줘야 한다. 그룹 단어는 다음 두 가지 기준으로 정리했다. 주어진 단어에서 이전 알파벳과 현재 알파벳이 같은가 다르다면, 해당 단어에서 이전에 한 번 이상 나온 문자인가 2번 기준에서 True.. 더보기
[백준알고리즘] 4344번: 평균은 넘겠지 -Python [백준알고리즘] 4344번: 평균은 넘겠지 -Python 4344번: 평균은 넘겠지 (acmicpc.net) 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net 문제 그대로 풀었다. 값을 가져온 뒤, 평균을 구하고, 평균이 넘는 학생의 수를 구했다. 여기서 평균 이상을 구하면 안되고 평균 초과를 기준으로 구해야 한다. 각 케이스별로 학생의 수가 1000명 이하라 list로 점수를 받고, 학생 수와 점수들을 나눠도 통과는 했겠지만 deque을 사용했다. from collections import deque for _ in range(int(input())): score = deque(map(.. 더보기
[백준알고리즘] 8958번: OX퀴즈 -Python [백준알고리즘] 8958번: OX퀴즈 -Python 8958번: OX퀴즈 (acmicpc.net) 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net 1. O로 이루어진 문자열 단위를 잘라 길이를 구한다. 2. O로 이루어진 문자열의 길이가 r일 때, 1부터 r까지의 합을 구한다. 1부터 n까지의 합 = n * (n + 1) / 2 n = int(input()) for _ in range(n): result = list(map(len, input().split("X"))) result = [r.. 더보기
[백준알고리즘] 1546번: 평균 -Python [백준알고리즘] 1546번: 평균 -Python 1546번: 평균 (acmicpc.net) 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 다시 알고리즘을 시작해야겠다.. 다른 것들을 하느라 너무 오래 쉰 것 같다. 오늘은 쉬운 문제부터.. n = int(input()) score = list(map(int, input().split())) max_score = max(score) new_score = [ (s/max_score)*100 for s in score] print( round(sum(new_.. 더보기
[백준알고리즘] 2631번: 줄세우기 -Python [백준알고리즘] 2631번: 줄 세우기 -Python https://www.acmicpc.net/problem/2631 2631번: 줄세우기 KOI 어린이집에는 N명의 아이들이 있다. 오늘은 소풍을 가는 날이다. 선생님은 1번부터 N번까지 번호가 적혀있는 번호표를 아이들의 가슴에 붙여주었다. 선생님은 아이들을 효과적으로 보호하기 위해 목적지까지 번호순서대로 일렬로 서서 걸어가도록 하였다. 이동 도중에 보니 아이들의 번호순서가 바뀌었다. 그래서 선생님은 다시 번호 순서대로 줄을 세우기 위해서 아이들의 위치를 옮기려고 한다. 그리고 아이들이 혼란스러워하지 않도록 하기 위해 위치를 옮기는 아이들의 www.acmicpc.net LIS문제이다. 세워져있는 상태에서 정상적으로 줄 서있는 학생들의 수를 구해서 전체 .. 더보기
[백준알고리즘] 3020번: 개똥벌레 -Python [백준알고리즘] 3020번: 개똥벌레 -Python https://www.acmicpc.net/problem/3020 3020번: 개똥벌레 문제 개똥벌레 한 마리가 장애물(석순과 종유석)로 가득찬 동굴에 들어갔다. 동굴의 길이는 N미터이고, 높이는 H미터이다. (N은 짝수) 첫 번째 장애물은 항상 석순이고, 그 다음에는 종유석과 석순이 번갈아가면서 등장한다. 아래 그림은 길이가 14미터이고 높이가 5미터인 동굴이다. (예제 그림) 이 개똥벌레는 장애물을 피하지 않는다. 자신이 지나갈 구간을 정한 다음 일직선으로 지나가면서 만나는 모든 장애물을 파괴한다. 위의 그림에서 4번째 구간으로 개똥벌레 www.acmicpc.net @Crocus 님의 블로그의 글을 참고했다. https://www.crocus.co... 더보기
[백준알고리즘] 1072번: 게임 -Python [백준알고리즘] 1072번: 게임 -Python https://www.acmicpc.net/problem/1072 1072번: 게임 각 줄에 X와 Y가 주어진다. X는 1,000,000,000보다 작거나 같은 자연수이고, Y는 0보다 크거나 같고, X보다 작거나 같은 자연수이다. www.acmicpc.net 이분 탐색 문제이다. 주의해야 할 점은 입력이 한 줄만 주어지는 게 아니다. 입력에 각 줄에 대하여 X와 Y가 정해져 있다 했고, 한 줄만 입력된다는 언급이 없었다. 이 부분 때문에 고생했다.. 그리고 하나 더 주의해야 할 점은 메모리에 대한 것이다. X, Y의 범위가 굉장히 넓기 때문에 연산 과정 중에서 문제가 일어나기 쉽다. 계속 실패했던 부분이 코드 부분에 있는 'y*100/x' 부분이다. 이 .. 더보기

728x90