코딩테스트 24

[구름톤 챌린지] 2주차 학습 일기 모음(2)

3. 통증 N = int(input()) cnt = 0 while N >= 14: cnt += (N // 14) N %= 14 while N >= 7: cnt += (N // 7) N %= 7 while N >= 1: cnt += (N // 1) N %= 1 print(cnt) 그리디 문제이긴 했는데 너무 쉽게 풀렸다... 그냥 문제 그대로 최대한 나눠주면 답이 나온다. 그리디로만 문제가 나왔을 때는 난이도가 높은 경우를 잘 못 본 것 같다. (잘 몰라서 그런 것 같지만...) 그래도 간단한 코드로 풀려서 기분이 좋았다...! 4. 폭탄 구현하기 (2) 5. GameJam 두 문제는 각각 완전탐색과 시뮬레이션 문제인데, 기숙사 입주 이슈로 풀 시간이 없었다ㅠㅠ 다음 주도 시간이 없긴 한데 그래도 시간을 ..

코딩테스트 2023.08.27

[구름톤 챌린지] 2주차 학습 일기 모음(1)

이번 주에는 기숙사 입사 때문에 너무 바빠서... 목/금 문제는 제대로 풀지 못하고 제출만 했다. 시간 내서 풀어봐야겠다... 1. 문자열 나누기 from itertools import combinations # 입력 받기 N = int(input()) S = input() # 조합으로 모든 부분문자열 구하기 cnt = [i for i in range(N)] cnt_comb = list(combinations(cnt, 3)) str_comb = [] for i in cnt_comb: comb = [S[i[0]:i[1]], S[i[1]:i[2]], S[i[2]:]] if "".join(comb) == S: str_comb.append(comb) # 모든 부분문자열 기반으로 P 구하기 P = sorted(s..

코딩테스트 2023.08.27

[구름톤 챌린지] 1주차 학습 일기 모음(2)

[구름톤 챌린지] 1주차 학습 일기 모음(1) 구름톤 챌린지를 신청했다! 이번 2학기에는 코딩테스트 준비를 위해 알고리즘 문제를 꾸준히 매일 하나씩은 풀고 있는데, 구름톤 챌린지에서도 매일 한 문제씩 풀면서 여러 혜택을 받을 수 있어 starcat37.tistory.com 앞 포스팅에 이어서 작성한다. 4. 완벽한 햄버거 만들기 (08/17) # 입력 받기 burger = [] N = int(input()) *burger, = map(int, input().split(" ")) # 맛의 정도가 가장 높은 값의 인덱스 구하기 (top) top = burger.index(max(burger)) # 맛이 완벽할 경우의 값 result = sum(burger) # 순회하면서 top을 기준으로 오름차순-top-내..

코딩테스트 2023.08.19

[구름톤 챌린지] 1주차 학습 일기 모음(1)

구름톤 챌린지를 신청했다! 이번 2학기에는 코딩테스트 준비를 위해 알고리즘 문제를 꾸준히 매일 하나씩은 풀고 있는데, 구름톤 챌린지에서도 매일 한 문제씩 풀면서 여러 혜택을 받을 수 있어 같이 시작하게 되었다. 첫 주여서 그런지 아니면 구현이라 그런지 난이도가 그리 높지는 않은데, 다음 주부터는 어려워질 것 같다는 생각이 든다. 각 문제별로 글을 올리고, 이 곳에 링크로 올릴 생각이다...! 1. 운동 중독 플레이어 (08/14) W, R = map(int, input().split(" ")) print(int(W * (1 + R / 30))) 첫 문제라서 그런가... 그냥 문제 그대로 구현하면 되는 문제였다. 5분도 안 걸리고 풀었다. 2. 프로젝트 매니징 (08/15) N = int(input()) ..

코딩테스트 2023.08.19

[백준 20920] 영단어 암기는 괴로워

1. 링크 https://www.acmicpc.net/problem/20920 2. 문제 설명 (1) 문제 화은이는 이번 영어 시험에서 틀린 문제를 바탕으로 영어 단어 암기를 하려고 한다. 그 과정에서 효율적으로 영어 단어를 외우기 위해 영어 단어장을 만들려 하고 있다. 화은이가 만들고자 하는 단어장의 단어 순서는 다음과 같은 우선순위를 차례로 적용하여 만들어진다. 자주 나오는 단어일수록 앞에 배치한다. 해당 단어의 길이가 길수록 앞에 배치한다. 알파벳 사전 순으로 앞에 있는 단어일수록 앞에 배치한다 M보다 짧은 길이의 단어의 경우 읽는 것만으로도 외울 수 있기 때문에 길이가 M이상인 단어들만 외운다고 한다. 화은이가 괴로운 영단어 암기를 효율적으로 할 수 있도록 단어장을 만들어 주자. (2) 입력 첫째..

[COSE403] 3주차 연습 풀이와 설명 모음

1094. [S5] 막대기 # 1094 X = int(input()) sticks = [64, ] while True: if sum(sticks) == X: break else: shortest = min(sticks) sticks.remove(shortest) half = shortest // 2 sticks.append(half) sticks.append(half) if sum(sticks) - half >= X: sticks.remove(half) print(len(sticks)) 문제 설명이 좀 이해가 안 돼서 여러 번 읽어본 문제다. 다만 이해만 되면 그대로 옮기기만 하면 된다. 문제를 잘 읽자! 1769. [S5] 3의 배수 # 1769 X = int(input()) cnt = 0 def sw..

[COSE403] 2주차 연습 풀이와 설명 모음

5648. [S5] 역원소 정렬 # 5648** import sys nums = "".join(list(map(str, sys.stdin.readlines()))).split() # 입력 문제: re.split은 구분자 사이에 아무것도 없을 경우 빈 문자열이 들어감.. reverses = [] for i in range(1, int(nums[0])+1): reverses.append(int(nums[i][::-1])) #문자열 뒤집기: str[::-1] for j in sorted(reverses): print(j) # cnt, *nums = sys.stdin.read().split() # for i in range(int(cnt)): # nums[i] = nums[i][::-1] # nums = lis..

[COSE403] 1주차 연습 풀이와 설명 모음

천문동아리에서 백준 소모임이 생겼다... 정말 관측 빼고 다하는 동아리 같다. 백준 플레 친구가 집어주는 문제를 매주 풀기로 정했는데, 풀이와 그 당시의 생각을 기록해두고 싶어 이렇게 매주 문제를 풀고 블로그 글도 작성하고자 한다. 사용 언어는 Python이고, 가끔 nodejs 기반의 javascript도 사용할 예정이다. 11942. [B5] 고려대는 사랑입니다 console.log("고려대학교"); 정말 간단한 출력 문제. 그냥 언어에 맞게 출력하면 된다. 파이썬으로는 옛날에 풀었어서 이 문제만 js로 풀어봤다. 프로젝트 하면서 js 숙련도가 아직 많이 낮은 거 같아 백준을 js로 풀려고 계획 중인데, 아직 본격적으로 시도해보진 않았다ㅎㅎ.. 11718. [B5] 그대로 출력하기 # 11718 im..

[프로그래머스] 숫자 문자열과 영단어

1. 링크 https://school.programmers.co.kr/learn/courses/30/lessons/81301 2. 문제 설명 (1) 문제 설명 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다. 1478 → "one4seveneight" 234567 → "23four5six7" 10203 → "1zerotwozero3" 이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요. 참고로 각..

[백준 10250] ACM 호텔

1. 링크 https://www.acmicpc.net/problem/10250 2. 문제 설명 (1) 문제 ACM 호텔 매니저 지우는 손님이 도착하는 대로 빈 방을 배정하고 있다. 고객 설문조사에 따르면 손님들은 호텔 정문으로부터 걸어서 가장 짧은 거리에 있는 방을 선호한다고 한다. 여러분은 지우를 도와 줄 프로그램을 작성하고자 한다. 즉 설문조사 결과 대로 호텔 정문으로부터 걷는 거리가 가장 짧도록 방을 배정하는 프로그램을 작성하고자 한다. 문제를 단순화하기 위해서 호텔은 직사각형 모양이라고 가정하자. 각 층에 W 개의 방이 있는 H 층 건물이라고 가정하자 (1 ≤ H, W ≤ 99). 그리고 엘리베이터는 가장 왼쪽에 있다고 가정하자(그림 1 참고). 이런 형태의 호텔을 H × W 형태 호텔이라고 부른..