목록전체 글 (117)
마이의 개발 블로그
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 동적 계획법(Dynamic Programming, DP) 문제이다. 처음에 DFS로 테스트 케이스를 풀어내긴 했는데 인풋 최대값이 100,000이다보니 실제 채점에서는 전부 통과되지 않아 DP로 바꾸어 풀게되었다. DP는 '기억하며 풀기'로 보통 바꾸어 말하는데 반복되는 문제에 대한 최적의 결과를 단계별로 메모리에 저장하고 이를 활용하여 다음 단계의 결과를 구하는 방식으로 사용한다. 여기서는 땅따먹기의 각 단계별로 직전단계까지의 최대값을 저장(또는 land에 바로 더해주기)하는 방식으로 DP를 구현했다. - ..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 딱히 어려운 문제는 아니다보니 금방 해결되었다. - 알파뱃별 최소 클릭 숫자를 저장할 해시맵 선언 - keymap을 탐색하며 key의 최소 클릭수를 맵에 저장 - targets의 각 문자열을 탐색하며 1) (문자열의 알파뱃이 맵에 없는 경우) answer에 -1 저장 후 break 2) (문자열의 알파뱃이 맵에 있는 경우) 문자열의 각 알파뱃 최소 클릭수를 map에서 가져와 answer에 더하기 import java.util.*; class Solution { public int[] solution(Strin..
상황 포스트맨을 이용한 API 테스트를 하다보면 로그인 후 발급되는 액세스 토큰이나 리프레쉬 토큰을 API요청에 포함하여 보내야하는 경우가 있습니다. 이 때 스크립트를 이용하여 토큰을 특정 변수에 할당하면 직접 복사를 하지않고도 편리하게 재사용이 가능해집니다. 방법 1. 좌측 메뉴에서 Environments 진입 2. 환경 추가(예제: env1) 후 사용할 변수 추가 - Globals에 전역 변수로 추가해서 사용하는 것도 가능하나, 프로젝트에 따라 분리하여 사용하기를 권장 3. 좌측 메뉴 - Collections로 복귀 후 우측 상단 환경 선택 (env1) 4. 로그인 API - Tests 탭 진입 후 스크립트 작성 - 포스트맨의 response code가 200일 때(상황에 따라 응답코드 입력) 1) ..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 난이도가 높은 문제는 아닌데 다른 사람 풀이 중에 너무 간단한 답변이 있어 기록을 남기려고 가져와봤다. - 두 수의 최대공약수를 구함 (gcd) - 기약분수로 만들기 위해 분모를 최대공약수로 나눠줌 - n = 2부터 시작하여 소인수분해(나머지가 0이면 계속 나눠주고 아니면 n 증가) - 나뉘는 숫자가 2나 5가 아닐 경우 무한소수이므로 2 리턴 Note - 이거 풀었다고 3점 주던데 프로그래머스 점수 산정 기준이 뭔지 모르겠다. - 아래는 내 답안 class Solution { public int soluti..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 배열을 하나씩 잘라가며 양쪽의 토핑 종류 개수를 (토핑개수 x) 비교하는 문제이다. - 형(older)은 HashMap으로, 동생(younger)은 HashSet으로 선언 - topping 배열을 한 바퀴 돌며 older한테 전부 넣어주기 : put(토핑번호, 개수); - topping 배열을 한 바퀴 돌며 1) 해당 토핑을 older에서 1개 빼기 (1개 뺀 후 0개인 경우 키값 제거 필요함. 키의 개수가 size()로 잡히기 때문) 2) 해당 토핑을 younger에 넣어주기 3) older와 younger..