programmers

Algorithm/Programmers

프로그래머스 Lv1 바탕화면 정리

문제 https://school.programmers.co.kr/learn/courses/30/lessons/161990 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 해당 문제는 min, max = (x, y), (x, y) 좌표를 둔 다음 min 에는 왼쪽 가장 윗부분에 있는 요소의 좌표를 max 에는 오른쪽 가장 맨 아래에 있는 좌표를 넣어서 구해주면 쉽게 문제를 해결할 수 있다. 아래는 min, max을 구해서 처리한 Python 코드이다. 🖥️ main.py from typing import List def solution(wallpaper..

Algorithm/Programmers

프로그래머스 LV1 게임 맵 최단 거리

문제 https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 해당 문제는 Baekjoon에서 많이 풀어본 문제라 정형적인 풀이 방식으로 접근해 문제를 풀었다. DFS, BFS 방식이 있지만, 최단거리와 미로 관련 문제는 BFS로 풀면 쉽게 풀리는 데이터가 머리에 남아 있어서 해당 문제 또한 BFS 방식으로 풀었다. 풀이 방법은 다음과 같다. x, y 좌표에서 상하좌우를 비교하여 조건에 충족했을 때, queue에 x, y을 추가한다. maps [nx..

Algorithm/Programmers

프로그래머스 LV1 폰켓몬

문제 https://school.programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 처음 해당 문제를 읽으면 조금 난해 할 수 있다. 하지만 지문을 조금만 더 잘 이해해 본다면 쉽게 풀 수 있는 있다. 현재 문제에서는 N/2 마리의 폰켓몬을 선택하는 방법 중 가장 많은 종류의 폰켓몬을 선택하는 방법을 문제이다. 예를 들어서 만약에 [3,3,3,2,2,1]라는 폰켓몬이 넘어오게 된다면, N/2 마리까지 선택 가능함으로 3마리까지 선택가능 하다. 그중에서 다양하게 뽑을 수 ..

Algorithm/Programmers

프로그래머스 Lv1 개인정보 수집 유효기간

문제 https://school.programmers.co.kr/learn/courses/30/lessons/150370 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 해당 문제는 파기해야 할 계약들을 리스트에 담아서 반환해 주는 문제이다. 일단 날짜, 시간 관련 문제를 풀 때는 항상 제일 낮은 수치인 "일"이나 "초"를 기준으로 변환하여 문제를 풀이하면 쉽게 풀 수 있다. 문제를 읽어 보면 중요한 문장이 하나 있는데 이는 다음과 같다. 예를 들어, A라는 약관의 유효기간이 12 달이고, 2021년 1월 5일에 수집된 개인정보가 A약관으로 수집되었다..

Algorithm/Programmers

프로그래머스 LV1 햄버거 만들기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/133502# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 처음에 생각한 문제풀이는 다음과 같다. "상수가 만들 수 있는 햄버거가 "1234" 이니까 ingrdient가 [2,1,1...]으로 들어오면 이걸 문자열로 바꾸고 python replace()을 통해서 "" 으로 바꿔서 count 처리하면 쉽게 풀리겠다" 그렇게 해서 문제를 풀었다. from typing import List def solution(ingredient: List[i..

Algorithm/Programmers

프로그래머스 LV1 달리기 경주

문제 https://school.programmers.co.kr/learn/courses/30/lessons/178871 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 첨에 2가지 생각을 생각했다. 2개의 리스트를 만든 다음에 서로 스왑 해서 바꾸는 형식 하고과 dict 형태로 name : 등수 을 만든 다음에 처리하는 방식이다. 사실 시간 복잡도 최소로 하는 방법이 dict형을 이용하여 비교하며 처리하는 방법인 것은 알고 있었으나, 그냥 호기심으로 List로 스왑 하는 방법을 먼저 시도를 하였다. 2개의 리스트를 만든 다음에 각 등수를 스왑 하는 ..

Algorithm/Programmers

프로그래머스 LV1 둘만의 암호

문제 https://school.programmers.co.kr/learn/courses/30/lessons/155652 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 문제풀이 방법은 다음과 같다. 일단 알파벳을 a - z까지 나열한 문자열 하나를 준비한다. 이를 case라고 지정한다. 해당 case에서 skip에 해당하는 요소를 제거한다. 문제 제한 사항에서 index 값이 그렇게 크지 않기 때문에, case 문자열을 넉넉하게 3 ~ 4개로 연이어 붙인다. 마지막 문장이 조금 이해가 되지 않을 것인데 아래 예를 들어 설명하겠다. 만약 abcdefg..

Algorithm/Programmers

프로그래머스 LV1 성격 유형 검사하기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/118666?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 해당 문제는 아래에 보이는 부분을 구현하면 되는 문제이다. 문제 풀이 방법은 다음과 같다. choice는 설문조사에서 왼쪽 오른쪽을 각각 [3, 2, 1, 0, 1, 2, 3] 점수만큼 부여하기 때문에, 이를 dict형으로 표현한다. 각 요소 (예 : R, T, C, F)에 점수를 부여하여 큰 값을 비교하면 됨으로 이를 dict형으로 표현한다. 각 유형검..

Algorithm/Programmers

프로그래머스 LV1 짝지어 제거하기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12973 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 일단 이 문제는 자료구조 Stack의 특성을 안다면 쉽게 풀 수 있는 문제이다. 만약 Stack의 원소가 비었다면 요소를 추가하고, Stack에 요소가 있다면 Stack의 마지막 요소와 비교하여 pop()을 진행하는 형식으로 문제를 풀면 쉽게 해결할 수 있다. def solution(s): answer = [] for i in s: if len(answer) != 0 and answer..

JHeaon
'programmers' 태그의 글 목록