<청춘> 격정적으로 사는 것

밤을 새고 공부한 다음 날 새벽에 느꼈던 생생한 환희와 야생적인 즐거움을 잊을 수 없다

코딩테스트 53

[프로그래머스] 문자열 압축 / 파이썬 / 코딩테스트

https://programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 문자열 압축 문제 설명 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자열에서 같은 값이 연속해서 나타나는 것을 그 문자의 개수와 반복되는 값으로 표현하여 더 짧은 문자열로 줄여서 표현하는 알고리즘을 공부하고 있습니..

[구현] 08 문자열 재정렬 /파이썬 / 코딩테스트 예제

문자열 재정렬 난이도 ★☆☆ 풀이시간 20분 시간제한 1초 알파벳 대문자와 숫자(0~9)로만 구성된 문자열이 입력으로 주어집니다. 이때 모든 알파벳을 오름차순으로 정렬하여 이어서 출력한 뒤에, 그 뒤에 모든 숫자를 더한 값을 이어서 출력합니다. 예를 들어 K1KA5CB7이라는 값이 들어오면 ABCKK13을 출력합니다. 입력 조건 첫째 줄에 하나의 문자열 S가 주어집니다. (1 ≤ S의 길이 ≤ 10,000) 출력 조건 첫째 줄에 문제에서 요구하는 정답을 출력합니다. 입력 예시1 K1KA5CB7 출력 예시1 ABCKK13 입력 예시 2 AJKDLSI412K4JSJ9D 출력 예시 2 ADDIJJJKKLSS20 모범 코드 String = input() Char = list() num = 0 for i in S..

코딩테스트 2021.08.20

[백준] 18406번: 럭키 스트레이트 / 구현 / 파이썬

https://www.acmicpc.net/problem/18406 18406번: 럭키 스트레이트 첫째 줄에 점수 N이 정수로 주어진다. (10 ≤ N ≤ 99,999,999) 단, 점수 N의 자릿수는 항상 짝수 형태로만 주어진다. www.acmicpc.net 럭키 스트레이트 시간 제한메모리 제한제출정답맞은 사람정답 비율 1 초 256 MB 2645 1928 1563 72.630% 문제 어떤 게임의 아웃복서 캐릭터에게는 럭키 스트레이트라는 기술이 존재한다. 이 기술은 매우 강력한 대신에 항상 사용할 수는 없으며, 현재 게임 내에서 점수가 특정 조건을 만족할 때만 사용할 수 있다. 특정 조건이란 현재 캐릭터의 점수를 N이라고 할 때 점수 N을 자릿수를 기준으로 반으로 나누어 왼쪽 부분의 각 자릿수의 합과 ..

[그리디 Greedy] 06. 무지의 먹방 라이브 / 2019 카카오 신입 공채 코딩테스트 기출 / 파이썬

그리디 (Greedy) 현재 상황에서 가장 좋아 보이는 것만을 선택하는 알고리즘 무지의 먹방 라이브 https://programmers.co.kr/learn/courses/30/lessons/42891 코딩테스트 연습 - 무지의 먹방 라이브 programmers.co.kr * 효율성 테스트에 부분 점수가 있는 문제입니다. 평소 식욕이 왕성한 무지는 자신의 재능을 뽐내고 싶어 졌고 고민 끝에 카카오 TV 라이브로 방송을 하기로 마음먹었다. 그냥 먹방을 하면 다른 방송과 차별성이 없기 때문에 무지는 아래와 같이 독특한 방식을 생각해냈다. 회전판에 먹어야 할 N 개의 음식이 있다. 각 음식에는 1부터 N 까지 번호가 붙어있으며, 각 음식을 섭취하는데 일정 시간이 소요된다. 무지는 다음과 같은 방법으로 음식을 ..

코딩테스트 2021.08.12

[그리디 Greedy] 05. 볼링공 고르기 / 파이썬

그리디 (Greedy) 현재 상황에서 가장 좋아 보이는 것만을 선택하는 알고리즘 볼링공 고르기 난이도 ★☆☆ 풀이시간 30분 시간제한 1초 A, B 두 사람이 볼링을 치고 있습니다. 두 사람은 서로 무게가 다른 볼링공을 고르려고 합니다. 볼링공은 총 N개가 있으며 각 볼링공마다 무게가 적혀 있고, 공의 번호는 1번부터 순서대로 부여됩니다. 또한 같은 무게의 공이 여러 개 있을 수 있지만, 서로 다른 공으로 간주합니다. 볼링공의 무게는 1부터 M까지의 자연수 형태로 존재합니다. 예를 들어 N이 5이고, M이 3이며 각각의 무게가 차례대로 1, 3, 2, 3, 2일 때 각 공의 번호가 차례대로 1번부터 5번까지 부여됩니다. 이대 두 사람이 고를 수 있는 볼링공 번호의 조합을 구하면 다음과 같습니다. (1번,..

코딩테스트 2021.08.12

[그리디 Greedy] 04. 만들 수 없는 금액 / 파이썬

그리디 (Greedy) 현재 상황에서 가장 좋아 보이는 것만을 선택하는 알고리즘 만들 수 없는 금액 난이도 ★☆☆ 풀이시간 30분 시간제한 1초 동네 편의점의 주인인 동빈이는 N개의 동전을 가지고 있습니다. 이때 N개의 동전을 이용하여 만들 수 없는 양의 정수 금액 중 최솟값을 구하는 프로그램을 작성하세요. 예를 들어, N = 5이고, 각 동전이 각각 3원, 2원, 1원, 1원, 9원짜리 (화폐단위) 동전이라고 가정합시다. 이때 동빈이가 만들 수 없는 양의 정수 금액 중 최솟값은 8원입니다. 또 다른 예시로, N = 3이고, 각 동전이 각각 3원, 5원, 7원짜리 (화폐단위) 동전이라고 가정합시다. 이때 동빈이가 만들 수 없는 양의 정수 금액 중 최솟값은 1원입니다. 입력조건 첫째 줄에는 동전의 개수를 ..

코딩테스트 2021.08.10

[그리디 Greedy] 03. 문자열 뒤집기 / 백준 1439번 / 파이썬

그리디 (Greedy) 현재 상황에서 가장 좋아 보이는 것만을 선택하는 알고리즘 문자열 뒤집기 난이도 ★☆☆ 풀이시간 20분 시간제한 2초 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있습니다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만드려고 합니다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모두 뒤집는 것입니다. 뒤집는 것은 1을 0으로, 0을 1로 바꾸는 것을 의미합니다. 예를 들어 S = 0001100일 때는 다음과 같습니다. 전체를 뒤집으면 1110011이 됩니다. 4번째 문자부터 5번째 문자까지 뒤집으면 1111111이 되어서 두 번 만에 모두 같은 숫자로 만들 수 있습니다. 하지만, 처음부터 4번째 문자부터 5번째 문자까지 뒤집으면 한 번에 000..

코딩테스트 2021.08.10

[그리디 Greedy] 02. 곱하기 혹은 더하기

그리디 (Greedy) 현재 상황에서 가장 좋아 보이는 것만을 선택하는 알고리즘 곱하기 혹은 더하기 난이도 ★☆☆ 풀이시간 30분 시간제한 1초 각 자리가 숫자(0부터 9)로만 이루어진 문자열 S가 주어졌을 때, 왼쪽부터 오른쪽으로 하나씩 모든 숫자를 확인하여 숫자 사이에 '×' 혹은 '+' 연산자를 넣어 결과적으로 만들어질 수 있는 가장 큰 수를 구하는 프로그램을 작성하세요. 단, +보다 ×를 먼저 계산하는 일반적인 방식과는 달리, 모든 연산은 왼쪽에서부터 순서대로 이루어진다고 가정합니다. 예를 들어 02984라는 문자열이 주어지면, 만들어질 수 있는 가장 큰 수는 ((((0 + 2) × 9) × 8) × 4) = 576입니다. 또한 만들어질 수 있는 가장 큰 수는 항상 20억 이하의 정수가 되도록 입..

코딩테스트 2021.08.10

[그리디 Greedy] 01. 모험가 길드

그리디 (Greedy) 현재 상황에서 가장 좋아 보이는 것만을 선택하는 알고리즘 모험가 길드 난이도 ★☆☆ 풀이 시간 30분 시간 제한 1초 한 마을에 모험가가 N명 있습니다. 모험가 길드에서는 N명의 모험가를 대상으로 '공포도'를 측정했는데, '공포도'가 높은 모험가는 쉽게 공포를 느껴 위험 상황에서 제대로 대처할 능력이 떨어집니다. 모험가 길드장인 동빈이는 모험가 그룹을 안전하게 구성하고자 공포도가 X인 모험가는 반드시 X명 이상으로 구성한 모험가 그룹에 참여해야 여행을 떠날 수 있도록 규정했습니다. 동빈이는 최대 몇개의 모험가 그룹을 만들 수 있는지 궁금합니다. 동빈이를 위해 N명의 모험가에 대한 정보가 주어졌을 때, 여행을 떠날 수 있는 그룹 수의 최댓값을 구하는 프로그램을 작성하세요. 예를 들어..

코딩테스트 2021.08.10

[그래프 이론] 실전 문제 <4> 커리큘럼 / 이것이 취업을 위한 코딩테스트다 with 파이썬

커리큘럼 난이도 ★★★ 풀이 시간 50분 시간 제한 2초 동빈이는 온라인으로 컴퓨터공학 강의를 듣고 있다. 이때 각 온라인 강의는 선수 강의가 있을 수 있는데, 선수 강의가 있는 강의는 선수 강의를 먼저 들어야만 해당 강의를 들을 수 있다. 예를 들어 '알고리즘'강의의 선수 강의로 '자료구조'와 '컴퓨터 기초'가 존재한다면, '자료구조'와 '컴퓨터 기초'를 모두 들은 이후에 '알고리즘'을 들을 수 있다. 동빈이는 총 N개의 강의를 듣고자 한다. 모든 강의는 1번부터 N번까지의 번호를 가진다. 또한 동시에 여러 개의 강의를 들을 수 있다고 가정한다. 예를 들어 N = 3일 때, 3번 강의의 선수 강의로 1번과 2번 강의가 있고, 1번과 2번 강의는 선수 강의가 없다고 가정하자. 그리고 각 강의에 대하여 강..

코딩테스트 2021.08.09