
문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/169198 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 작성한 코드 4가지 벽에 대해 원 쿠션을 시행하는 경우 제일 최솟값을 반환하는 알고리즘을 작성했다. 원 쿠션을 하기 전에 공끼리 먼저 만나면 안 되므로 x나 y 좌표가 같은 경우는 특정 벽에 원 쿠션하는 경우가 불가능하고, 비교군에서 제외해야 한다. 두 공의 x와 y 좌표 모두 같지 않은 경우 좌, 우에 있는 벽에 공이 쿠션을 할 경우 벽에 대해 선대칭을 하므로 다음과 같은 값..

문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/155652 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 작성한 코드 제외한 문자를 건너뛰고 문자를 뒤로 밀기 위해 index 함수를 이용하였다. 알파벳 리스트를 생성해 준다. 물론 이러한 상수는 저런 코드로 생성하고 코드에 올리는 게 더 좋다. 알파벳 리스트에서 skip에 해당되는 알파벳들을 제외해준다. 암호문의 각 문자들을 가져와 alp_lst에 해당되는 index를 찾고 주어진 값만큼 뒤로 밀어낸다. index 값을 가져와 주어..

문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/161989 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 작성한 코드 일정 구간을 한 번에 칠하는 것을 이용하여 몇 번째 벽까지 칠해져 있는지 체크하는 알고리즘으로 작성하였다. 처음벽부터 어디까지 색이 칠해져있는지 기록하는 변수 n_painted와 칠할 횟수의 변수 answer를 초기화시킨다. 각 section의 번호가 n_painted보다 값이 같거나 작으면 이미 페인트가 칠해져 있고, 반대의 경우에는 칠해져 있지 않다는 의미이므로..

문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/133499 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 옹알이 (1) (https://school.programmers.co.kr/learn/courses/30/lessons/120956)에서 조건이 변형된 문제이다. 처음 작성한 코드 단어 리스트에서 하나씩 단어를 가져와 조건에 부합하는지 체크하는 풀이이다. 4가지 옹알이에 대해 하나씩 체크를 하는데, 연속으로 발생하는 옹알이는 제외해야 하므로 옹알이가 두 번 붙여져 있는 문자열이 단어..

프로그래머스 lv0 문제를 다 풀었다. 블로그에 올린 lv0 문제는 얼마 되지 않지만 틈틈이 풀어서 100문제를 달성했다. lv1도 13문제 남아서 곧 lv2로 넘어갈 것 같다. 이미 푼 문제는 아마 특이한 문제이지 않는 이상 블로그에 게시하지 않을 것 같고, 앞으로 풀 문제에 집중하려 한다.

문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/147355 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 작성한 코드 p의 문자열 길이만큼 t의 문자열을 잘라 정수로 변환한 뒤 크기를 비교한다. 범위는 문자열 t의 길이에서 문자열 p의 길이를 빼고 1을 정해준다. 만약 p가 10의 길이, t가 3의 길이를 가진다면 0~2, ..., 8~10의 인덱스를 지정해주어야 하기 때문 def solution(t, p): answer = 0 p_len = len(p) for i in range..

문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/120812 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 작성한 코드 딕셔너리를 이용해 숫자를 누적시키며 조건을 확인하는 코드이다. 빈 딕셔너리, 최빈값과 그 값, 중복 확인 플래그를 설정해 준다. 어레이에 있는 n마다 다음과 같은 프로세스를 따른다. 딕셔너리에 n이 없다면 n을 키로 가지는 쌍을 생성해 준다. 키 n의 값에 1을 더해준다. 키 값이 현재까지의 최빈값보다 크다면 갱신해 주고 값의 인덱스를 n으로 갱신해 준다. 또한 중..

문제 링크:https://school.programmers.co.kr/learn/courses/30/lessons/120808 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 작성한 코드 각 분수를 기약분수로 변환한 뒤, 최소공배수를 구해 분수를 더하고 다시 기약분수로 변환하는 프로세스이다. 각 분수를 기약분수로 변환한다. 여기서 irr_frac이라는 함수를 따로 작성해 주었는데, math 라이브러리의 gcd 함수를 이용하여 최대공약수를 구하고 분자 분모를 최대공약수로 나누어주면 기약분수가 된다. 최소공배수를 이용한 분수들의 합은 다음과 같다 분자는 ..

문제 링크:https://school.programmers.co.kr/learn/courses/30/lessons/120956 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 작성한 코드 단어 안에 옹알이가 최대 한 번씩만 들어있는 것을 이용해 단어마다 옹알이의 여부를 체크했다. 리스트 babbling의 요소 문자열에서 옹알이가 들어있는지 체크했다. 만약 옹알이가 있다면 그 옹알이의 문자열 길이를 카운트해 준다. 문자열의 길이와 카운트된 옹알이의 문자열 길이의 합을 비교해서 일치하면 조카가 발음할 수 있는 단어가 된다. def solution(babb..

문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/120880 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 작성한 코드 정렬을 위해 리스트 numlist 안의 각 요소들에 같은 값을 빼준다. n과 가까운 수를 찾기 위해 n을 빼주고 오름차순으로 정리할 것이다. 0.1을 추가로 빼준것은 거리가 같은 값일 때 큰 값이 먼저 오게 하기 위함이다. 뺄셈을 마친 요소들의 리스트는 전의 리스트 numlist와 쌍을 이루어 딕셔너리로 생성된다. 키로 들어간 뺄셈 요소들을 기준으로 오름차순으로 정..