본문 바로가기

Algorithm

(2087)
(Python3) - 프로그래머스(코딩테스트 입문) : 삼각형의 완성조건 (2) https://school.programmers.co.kr/learn/courses/30/lessons/120868 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr간단 산수 문제였습니다.📕 풀이방법📔 입력 및 초기화편의를 위해 오름차순으로 sides를 정렬해줍니다.📔 풀이과정다른 한변 answer는 두 가지 경우가 있을 수 있습니다.1. 가장 긴 변인 경우sides[1]가 두 번째로 긴 변이므로 이보다 크면서 sides[0] + sides[1] 보다 작은 범위가 값이므로 sides[0] - 1만큼이 가능합니다. 2. 나머지 두 변 중 한 변인 경우answer + sides[0] > sides[1]이..
(Python3) - 프로그래머스(코딩테스트 입문) : 다항식 더하기 https://school.programmers.co.kr/learn/courses/30/lessons/120863 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr구현 문제였습니다📕 풀이방법📔 입력 및 초기화1. 정답변수 answer선언 후 빈 문자열로 저장합니다. 2. x항의 계수 x_expr, 숫자 num_expor선언 후 0, 0으로 초기화합니다. 3. 항을 공백으로 구분해 list형태로 만들어 polynomial을 갱신합니다.📔 풀이과정polynomial에 대해 loop를 수행하며 다음을 진행합니다. 1. 마지막이 'x'인 경우 x항이므로 x의 앞문자열을 slice해 비어있다면 1인 것에 ..
(Python3) - 프로그래머스(코딩테스트 입문) : 평행 https://school.programmers.co.kr/learn/courses/30/lessons/120875 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr기울기를 구해본 문제였습니다.📕 풀이방법📔 입력 및 초기화가능한 선분 쌍 pairs를 선언해 나올 수 있는 선분쌍의 조합을 좌표의 tuple형태로 저장해줍니다.📔 풀이과정각 pairs의 tuple에 대해 for loop를 수행하면서 다음을 수행합니다.1. 첫 번째 선분의 기울 기를 각 x, y좌표의 차이를 최대공약수로 나눠 저장합니다.2. -1 / 1과 1 / -1 이 평행하지 않음에 주의해 부호를 x가 음수라면 부호를 바꿔 저장합니다..
(Python3) - 프로그래머스(코딩테스트 입문) : 겹치는 선분의 길이 https://school.programmers.co.kr/learn/courses/30/lessons/120876 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krn이 작은 sweeping문제였습니다📕 풀이방법📔 입력 및 초기화1. 정답 변수 answer 선언 후 0으로 초기화합니다. 2. 합쳐진 구간 overlap 선언 후 빈 배열로 초기화합니다.📔 풀이과정좌표123456789Segment x ■■■■■   Segment x2   ■■■■■ Overlap   ★★★    * 겹치는 길이만 구하면되므로 해당 선분들을 모두 압축해서 하나로 만든다고 생각하면 구현하기 수월할 수 있습니다. lines에 ..
(Python3) - 프로그래머스(코딩테스트 입문) : 유한소수 판별하기 https://school.programmers.co.kr/learn/courses/30/lessons/120878# 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr최대공약수를 구해본 문제였습니다.📕 풀이방법📔 입력 및 초기화1. gcd_val선언 후 유클리드 호제법으로 최대공약수를 구한 값을 저장합니다. 2. 기약분수로 만들기 위해 a, b를 gcd_val로 정수 나누기 해 갱신합니다.📔 풀이과정1. 5로 나눠지는 동안 b를 5로 나눠줍니다.  2. 2로 나눠지는 동안 b를 2로 나눠줍니다.📔 정답 출력 | 반환b가 1이하인 경우 2,5의 소인수로만 구성된 수 이거나 정수이므로 1을, 아니라..
(Python3) - 프로그래머스(코딩테스트 입문) : 특이한 정렬 https://school.programmers.co.kr/learn/courses/30/lessons/120880 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr정렬 문제였습니다.📕 풀이방법📔 풀이과정tuple을 반환하는 lambda함수를 만들어 sorted함수의 key로 전달합니다.1. 먼저 가까운 거리 abs(n-x)와 더 큰 값이 앞쪽에 오도록 -x를 함께 tuple로 만들어 줍니다. 2. 이를 key로 numlist를 정렬해 갱신해줍니다.📔 정답 출력 | 반환numlist를 반환합니다.📕 Code📔 Python3def solution(numlist, n): numlist = so..
(Python3) - 프로그래머스(코딩테스트 입문) : 등수 매기기 https://school.programmers.co.kr/learn/courses/30/lessons/120882 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr구현 문제였습니다.📕 풀이방법📔 입력 및 초기화1. 정답 변수 answer선언 후 score만큼 방을 만들어 각 원소를 0으로 초기화합니다. 2. 배열의 index와 평균값을 저장할 idx_avg_dict선언 후 빈 객체로 초기화합니다.📔 풀이과정1. score에 대해 for loop를 수행하며 index별 평균값을 idx_avg_dict에 key, value로 각각 저장해줍니다. 2. 평균값을 tuple내 key로 사용해 내림차순으..
(Python3) - 프로그래머스(코딩테스트 입문) : 로그인 성공? https://school.programmers.co.kr/learn/courses/30/lessons/120883 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr구현 문제였습니다.📕 풀이방법📔 입력 및 초기화id, pw가 같은지를 저장할 hash_map is_same을 선언 후 각 key, value를 저장해줍니다.📔 풀이과정db의 원소를 순회하며 다음을 진행합니다.1. id, pw가 같으면 is_same의  key인 id, pw의 value를 모두 True로 갱신합니다. 2. id만 같다면 id는 True로 갱신합니다. * id와 pw에 대한 boolean변수를 따로 두고 갱신하게되면 틀리게 ..