문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 해설 성격 유형을 검사하고, 결과를 반환해야 하는 문제이다. 일반적인 검사처럼 선택지마다 점수를 부여하고, 점수를 기준으로 성격 유형을 나눈다. 첫번째로, 생각난 것은 딕셔너리로 {'R': 0, 'T': 0, 'C': 0, 'F': 0, 'J': 0, 'M': 0, 'A': 0, 'N': 0} 유형마다 점수를 저장하는 것이었다. 그리고 나서, 동의 선택지의 기준과 비동의 선택지의 기준을 선택지에서 얻은 점수를 더하면서, 모든 점수 계산이 끝났을때 높은 점수 순으로 성격유형을 만든다고 생각했다...
Algorithm
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 해설 주어진 조건들을 split을 통해 사용 가능한 데이터로 저장하여 이용하는 것이 첫 번째로 떠올랐다. 그러고 나서, 유효기간이 지났는지 어떻게 비교를 해야 할까 생각했을 때, 시간의 단위처럼 날짜도 절대적인 숫자로 바꿔서 크기를 비교해 주면 될 것 같았다. def solution(today, terms, privacies): #약관 종류 , (절대적기준)유효기간 딕셔너리 형태로 저장 data_dic={} today_info = list(map(int,today.split('.'))) # 오..
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 해설 종이조각에 각각 한자리 숫자가 적혀있고, 주어진 숫자를 조합해서 총 만들 수 있는 소수가 몇 개인지 찾는 문제이다. 처음으로 든 생각은 "오... 소수 정의가 정확히 어떻게 되더라.. 소수가 뭐였지?" 였다.^^ 그래서 정확한 정의를 찾아봤다. 소수(Prime Number)란 2보다 큰 자연수 중에서 1과 자기 자신을 제외한 자연수로는 나누어떨어지지 않는 자연수. 위의 정의를 생각해보고, 다음과 같은 생각이 이어졌다. "주어진 숫자로 만들수 있는 모든 조합을 생성한 후, 소수를 판별하는 ..
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 첫 번째로 solution함수가 실행되면서 주어진 game_board와 table을 이용하여 문제를 해결해 나간다. 우선적으로 visited_g, visited_t라는 방문처리를 나타내는 맵을 아래와 같이 만들어준다. 테이블들을 순회하면서 빈 공간과 퍼즐들을 찾게 되는데, 이때 bfs함수를 이용하여 현재좌표를 기준으로 상,하,좌,우 칸들을 탐색하여 연결된 좌표들을 찾는다. bfs함수가 모두 완료되면, 위와 같이 block_t, empty_g 테이블이 완성된다. 여기서 중요한 아이디어가 나..