본문 바로가기

알고리즘/프로그래머스22

[프로그래머스] 키패드 누르기 문제https://school.programmers.co.kr/learn/courses/30/lessons/67256 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  주요 아이디어문제를 꼼꼼하게 읽고 풀기만 하면 되는 구현 문제이다.맨 처음 왼손 엄지손가락은 * 키패드에 오른손 엄지손가락은 # 키패드 위치에서 시작1열의 3개 1, 4, 7은 왼손 엄지 / 3열의 3개 369는 오른손 엄지가운데 열은 2580을 입력할 때는 현재 위치에서 더 가까운 엄지 사용거리 같다면 오른손잡이는 오른손, 왼손잡이는 왼손키패드의 좌표를 dictionary 형태로 저장움직일 때.. 2024. 5. 21.
[프로그래머스] 폰켓몬 문제https://school.programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr    주요 아이디어문제 길이는 상당히 길지만 set을 쓰면 굉장히 간단하게 풀리는 문제이다.N/2마리의 폰켓몬을 선택하는 방법 중 가장 많은 종류의 폰켓몬을 선택하려면, 다음 조건문을 만족하면 된다.전달 받은 폰켓몬 종류 번호의 unique 값이 N/2일 경우 : 그대로 N/2 반환전달 받은 폰켓몬 종류 번호의 unique 값이 N/2 보다 작을 경우 : unique 값 반환  코드 구현 (Pyth.. 2024. 5. 21.
[프로그래머스] 행렬의 곱셈 문제https://school.programmers.co.kr/learn/courses/30/lessons/12949 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  주요 아이디어행렬을 전치하는 것이 이번 문제의 핵심이다.numpy 라이브러리를 사용하면 메서드를 통해 굉장히 쉽게 전치가 가능하지만.. 순정 파이썬으로도 리스트 전치를 쉽게 할 수 있는 방법에 대해 숙지하과 가자.arr_T = list(map(list, zip(*arr)))  코드 구현 (Python 3)더보기 def solution(arr1, arr2): answer = [] # .. 2024. 5. 21.
[프로그래머스] 징검다리 건너기 문제https://school.programmers.co.kr/learn/courses/30/lessons/64062 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr    주요 아이디어최대 몇 명까지 징검다리를 건널 수 있는지 return해야 하는 이분탐색 문제이다."최대로 건널 수 있는 명 수"를 이분탐색 타깃으로 둔다건널 수 있는지, 없는지를 판별건널 수 있으면 인원을 증가건널 수 없으면 인원을 감소  코드 구현 (Python 3)더보기 def can_check(bridge, people, k): # 0 이하 구간이 연속되는 최대 횟수 cnt =.. 2024. 5. 21.
[프로그래머스] 문자열 다루기 기본 문제https://school.programmers.co.kr/learn/courses/30/lessons/12918 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   주요 아이디어간단하게 조건문만 구성하면 되는 문제!isdigit() 메서드를 활용하자  코드 구현 (Python 3)더보기 def solution(s): if len(s) == 4 or len(s) == 6: if s.isdigit() == True: return True return False  제출 결과 2024. 5. 21.
[프로그래머스] 가장 먼 노드 문제https://school.programmers.co.kr/learn/courses/30/lessons/49189 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr    주요 아이디어1번 노드로부터 가장 멀리 떨어진 노드가 몇 개인지를 return하는 문제이다.BFS를 통해 인접 노드를 탐색distance 배열을 통해서 노드 1과의 거리가 얼마인지를 저장이 때 시작점은 1번 노드 고정이므로 1차원 배열로 커버 가능하다  코드 구현 (Python 3)더보기 from collections import dequedef solution(n, edge): gra.. 2024. 5. 21.