본문 바로가기

728x90

코딩테스트

(6)
백준 2869 : 달팽이는 올라가고 싶다. 2869 달팽이는 올라가고 싶다.문제를 보고 바로 생각한것은 그냥 반복문 쓰면 빠르게 해결될 것이다? 라는 생각이였다.하지만 반복문으로 해본 결과 시간제한 1초가 나왔고, 문제에서는 시간제한이 0.25초 였던 것이다.a, b, v = map(int, input().split())x, y = 0, 0def func(a, b, v):    global x, y    while True:        y += 1        x += a        if x >= v:            return y        else:            x -= bprint(func(a, b, v))위 코드가 반복문을 사용해서 했던 코드이다.그럼 시간 초가 촉박한 문제들을 과거에는 어떻게 풀었을까?나의 경우는 시간초..
백준 1193 : 분수찾기 1193번 분수찾기문제에서 나열된 분수들이 지그재그 순서로 차례대로 1번, 2번, 3번,4번,... 분수라고 하였고, 첫 줄에 x(1아이디어문제에서 나온 순서를 토대로 배열을 만들면1/11/2, 2/13/1, 2/2, 1/31/4, 2/3, 3/2, 4/15/1, 4/2, 3/3, 2/4, 1/5...위와 같이 계속 반복되어 질 것이다.여기서 각 줄마다 특징을 알아보아야 한다!- 짝수 라인 : 분모가 1씩 늘어나고 분자가 1씩 줄어든다.- 홀수 라인 : 분자가 1씩 늘어나고 분모가 1씩 줄어든다.이제 규칙(특징)을 찾았으니까 몇번째 줄에 몇번째 위치의 분수가 무엇인지를 알아내야 한다. while num > line: num -= line line += 1 while문의 loop를 사용해 몇번째 줄이고 몇..
백준 1062번 가르침 https://www.acmicpc.net/problem/1062 - 이번에는 완전 탐색의 유연한 생각에 대표 문제인 골드 5티어 가르침 문제를 풀어보았습니다.- 최근 공부하고 있는 알고리즘 관련해서 뼈대라 할 수 있는 문제의 대표격이라 풀어보았는데 생각보다 시간이 많이 걸려서 좀 당황했습니다.###### 접근- 조건 처리를 잘 해야 빠르게 정답을 찾을 수 있었던 문제 였던 것 같습니다.- n개의 단어와 k(배울 수 있는 알파벳 개수)를 입력받고, 어떤 조합으로 k개의 알파벳을 익혀야 최대한 많이 단어를 읽을 수 있는지에 대한 문제인데, 단어는 anta 로 시작해서 tica 로끝나는 형태인 것입니다. 즉 anta ? tica 이 순이 되는 것입니다.###### 풀이순서- 단어 입력 및 필수 글자 처리: ..
백준 2903번 중앙 이동 알고리즘 https://www.acmicpc.net/problem/2903규칙에 따라 점의 개수를 구해야 하는 문제 였는데1. 정사각형의 각 변의 중아엥 점을 하나 추가2. 정사각형의 중심에 점을 하나 추가문제에 흰점과 검은 점이 섞여있어서 어렵게 느껴졌었는데, 색 구분 없이 보게 되면 완전하게 점으로 채워진 정사각형이 보이게 된다. 이를 통해서 변의 길이만 알게 되면 점의 개수를 구할 수 있다 판단하였다.처음 변의 길이가 2 였고, 다음은 3, 5로 증가한다. 다음은 점 5개 사이에 점이 1개씩 추가되므로, 변의 길이는 9가 되어진다. 여기서 알 수 있듯이 (이전 변의 길이 -1) 만큼씩 변의 길이가 늘어나고 있는 것이다.초기 21회 2 + 1 = 32회 3 + 2 = 53회 5 + 4 = 94회 9 + 8 =..
백준 2720번 세탁소 사장 동혁 문제 풀이 https://www.acmicpc.net/problem/2720 문제 요약: 주어진 금액을 동전(쿼터, 다임, 니켈, 페니)으로 바꿀 때, 각 동전의 개수를 구하는 문제입니다.기본 풀이먼저, 기본적인 접근 방식은 다음과 같습니다Z = int(input()) for a in range(Z):     C = int(input())     for i in [25, 10, 5, 1]:         count = C // i           print(count, end=" ")           C = C % i       print() - 어차피 금액 단위가 정해져 있으니, 큰 단위부터 몫을 반환하고 나머지를 다시 금액으로 할당, 이 과정을 반복하면 되는 문제였다.- 처음에는 반복 과정에서 for문을 쓰..
백준 2745번 진법변환문제 https://www.acmicpc.net/problem/2745  파이썬에서의 자료구조여러개의 데이터가 묶여있는 자료형을 컨테이너 자료형이라함. 이러한 컨테이너 자료형의 데이터 구조를 자료 구조.리스트 :순서가 있는 가변적인 데이터 구조, 리스트는 같은 타입이 아니어도 다양한 데이터 타입의 요소를 포함할 수 있으며, 요소를 수정하거나 삭제할 수 있음 []튜플 : 순서가 있는 불변의 데이터 구조, 한 번 정의되면 요소를 변경하거나 삭제할 수 없습니다. 다양한 데이터 타입을 포함할 수 있음 ()딕셔너리 : 키와 값의 쌍으로 구성된 데이터 구조, 각 키는 유일해야 하며, 키를 통해 해당 값을 빠르게 조회할 수 있으며, 키와 값 모두가 변할 수 있음 {}셋트 : 순서가 없고, 중복된 데이터가 허용되지 않는 데..

728x90