알고리즘/프로그래머스(51)
-
프로그래머스 L1 - 달리기 경주
https://school.programmers.co.kr/learn/courses/30/lessons/178871 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(players, callings) { for(const name of callings){ let idx =players.indexOf(name); [players[idx-1],players[idx]] = [players[idx],players[idx-1]]; } return players; } 이렇게 작성하면 시간 초과가 나온다. 왜냐하면 players의 최댓값은..
2024.03.19 -
프로그래머스 L1 - 붕대 감기
https://school.programmers.co.kr/learn/courses/30/lessons/250137 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해석 타임라인을 만들어 공격받는 시간인지 공격을 받지 않는 시간인지 구분한다. 그리고 공격받는 시간이라면 피를 깎고, 그렇지 않으면 회복한다. 단, 피가 가득 찼을 경우에는 회복하지 않아야하고, 연속적으로 회복했을 때 보너스로 받는 회복량이 존재한다. 코드 function solution(bandage, health, attacks) { var answer = health; let max = -..
2024.03.19 -
프로그래머스 L1 - 가장 많이 받은 선물
https://school.programmers.co.kr/learn/courses/30/lessons/258712 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해석 이차원 배열을 활용한 구현문제이다. 먼저 이차원배열을 만들어 선물을 주고 받은 관계를 행렬로 표현한다. 이차원배열의 세로줄이 받은 선물의 갯수이고 가로줄이 준 선물의 갯수이다. 이 데이터를 기반으로 map을 만들어서 선물지수를 표현한다. 그리고 이차원 배열을 탐색하면서 조건에 맞는지 확인하면 된다. 코드 function solution(friends, gifts) { var answer =..
2024.03.19