목록전체 글 (91)
DecordRay
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/92335 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 : 1. 소수 판별을 위한 함수 정의(에라토스테네스의 체) 2. k진수로 변환 3. k진수로 변환한 값을 0을 기준으로 나누어서 소수 판별 * Tip - 소수 판별간 에라토스테네스의 체를 사용하지 않으면 시간초과가 발생함(테스트 케이스 1번 실패요인) 코드 : import math def solution(n, k): def find_prime(num): # 소수 판별 함수(에라토스테..
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 : 1. 그리디 문제로 귤의 크기에 따른 개수를 세어준 후 개수가 많은 것부터 세어주어야한다. 2. 리스트에 담겨있는 귤의 크기를 오름차순 정렬 후 귤의 크기에 따른 개수를 count_list에 저장 3. count_list의 원소들을 내림차순 정렬(개수가 많은 것부터 세어줘야 하므로) 4. k개 만큼 귤의 개수를 세어줌(코드 주석 참고) 코드 : def solution(k, ta..
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/42577 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 : 문제자체는 해시로 분류되어있지만 조금더 직관적이고 효율적인 코드로 해결하기 위해 아래와 같은 2가지 방법으로 풀이를 진행하였음 첫번째 방법(정렬) 1. 리스트를 정렬 2. i번째 문자열과 i+1번째 문자열을 비교(i번째 문자열 길이만큼)하여 같으면 answer = False * Tip - 여기서 리스트의 원소들은 문자열이기 정렬 후 Ex) ["1292","25","132"] ->..
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/17677 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 : 1. str1 문자열 길이만큼 반복하여 두 글자씩 끊은 문자가 알파벳일경우 소문자로 변환하여 str1_arr에 저장(str2도 동일) 2. 합집합 구하는 과정 str1_arr과 str2_arr의 원소들을 삭제하거나 추가하는 과정이 필요하므로 deepcopy(깊은 복사) 시행 str1_arr_copy[i]가 str2_arr_copy에도 있다면 union에 추가 후 두 원소를 각 리..
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/87390 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 제한사항 1 ≤ n ≤ 10^7 0 ≤ left ≤ right 모든 값을 넣는다면 시간초과가 날 것 2. 세번째 제한사항을 통해 right-left만큼 반목문을 통해서 원하는 값들만 저장하면 될 것이라고 생각 3. 문제의 예시 애니메이션을 통해 배열 값..
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 : 1. 우선순위와 location에 해당하는 문서인지 판별 여부를 print_list(스택)에 저장 찾을 문서이면 1 찾을 문서가 아니면 0 을 print_list의 두번째 원소로 저장 2. print_list 첫번째 원소의 우선순위를 priority, 찾는 문서인지 여부를 loc 변수에 저장 3. 문서의 우선순위 비교 꺼낸 문서의 우선순위가 가장 높다면 -> 꺼낸 문서를 스택에서..
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/64065 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 : 1. s에 있는 중괄호와 콤마를 없앤 후 리스트 형태로 변환해줌 Ex) 입력 예시 1의 경우 변환 전 -> s = {{2},{2,1},{2,1,3},{2,1,3,4}} 변환 후 -> s = ['2' , '2,1' , '2,1,3' , '2,1,3,4'] 2. 리스트에 있는 원소들을 개수에 따라 오름차순 정렬 3. 정렬 후 현재 str타입인 각 원소들 -> int형 타입으로 교체 ..
문제 : https://www.acmicpc.net/problem/1987 1987번: 알파벳 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으 www.acmicpc.net 풀이 : DFS방법 밖에 떠오르지 않아서 DFS방법으로만 풀이하였음 첫번째 풀이 당시 10번이 넘는 시도동안 시간초과가 났고, 이를 해결하지 못하여 다른 사람의 풀이를 참고하여 수정하였음 첫번째 방법(시간초과) 1. max_count(몇 칸을 갔는지 저장하기 위한 2차원 리스트) 생성 2. visited(방문여부를 확인하기 위한 2차원 리스트) 생성 3. chk_Alpha(사용한 ..