본문 바로가기

PS/프로그래머스26

[프로그래머스 *Java] - 다음 큰 숫자 https://school.programmers.co.kr/learn/courses/30/lessons/12911 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 조건 제한시간 : 20분이내 이 문제는 그렇게 어렵지 않다. 진법 변환하는 것만 잘 생각하면 될 거 같다. 아래 코드는 어떤 진법이든 원하는 갯수를 셀 수 있게끔 로직을 구현했지만, 문제에서 원하는 요구사항에 더 적합한 메서드는 Integer.bitCount(n); 다. 이진법 내에서 1의 갯수를 찾아 return 시켜주는 메서드다. class Solution { // 2진수 변환 public S.. 2022. 9. 6.
[프로그래머스 *Java] - n 진수 게임 https://school.programmers.co.kr/learn/courses/30/lessons/17687 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 조건 제한시간 : 45분 이내 이 문제에서 가장 중요했던 건, 진법을 어떤 식으로 처리해야할까? 였던 거 같다. 처음 접근은 진법을 변환해주는 메서드를 만들어서 구현하려고 했지만, 알파벳이 나오는 이유 때문에 로직이 지저분해져서 다른 방법이 있는지 생각해보았다. Integer.toString(변환할 수, n진법) 이라는 메서드를 사용하게 되면, 진법 변환을 해주니 해당 메서드를 알고 있다면 금방 .. 2022. 8. 24.
[프로그래머스 *Java] - 파일명 정렬 https://school.programmers.co.kr/learn/courses/30/lessons/17686 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 조건 제한시간 : 1시간 이내 이번 문제는 커스텀 정렬문제라고 생각하면 될 것 같다 입력 받는 값이 배열이니 Arrays.sort 를 이용하여 new Comparator 를 이용하면 된다. Arrays.sort(입력받은배열, new Comparator(){ 배열 커스텀하기 }); 문제에서 언급한대로 정렬을 하기 위해선, 파일명을 head, number, tail 로 쪼갠 뒤 작업하면 좋을 거라 생.. 2022. 8. 24.
[프로그래머스 *Java] - 방금 그곡 https://school.programmers.co.kr/learn/courses/30/lessons/17683 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 조건 제한시간 : 1시간 이내 로직 Flow 1. 받은 데이터를 split 메서드를 통해서 배열로 만들기 2. 받은 데이터 중 기억한 멜로디를 담은 문자열 m, 방송된 곡 정보 중 악보 정보. 이 두 가지 문자열을 '#' 때문에 문자열 처리가 복잡해지니 미리 다른 문자로 치환한다. 3. 받은 데이터 중 재생시간(시작,끝)을 '분'으로 바꿔서 빼준 뒤, 재생시간을 구하기 4. 재생시간 기준으로 fo.. 2022. 8. 19.
[프로그래머스 *Java] - 점프와 순간이동 https://school.programmers.co.kr/learn/courses/30/lessons/12980 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 조건 제한시간 : 30분 이내 생각보다 로직을 생각해 내기가 쉬웠던 문제였다. 이동할 방법은 두 가지 1. K칸을 점프 (점프. 건전지 사용량이 K칸만큼 줄음) 2. 현재 온 거리 * 2 (순간이동. 건전지 사용량이 줄지 않음) 즉, 순간이동이 가장 효율적이다. 5000 -> 2500 -> 1250 -> 625 -> [625-1] -> 312 -> 156 -> 78 -> 39 [39-1] -> 1.. 2022. 8. 18.
[프로그래머스 *Java] - 스킬트리 https://school.programmers.co.kr/learn/courses/30/lessons/49993 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 조건 제한시간 : 45분 이내 중요한 포인트를 짚어보자. 1. skill 변수로 받은 선행 스킬 순서를 지키는 지 확인해야한다. 2. 선행 스킬 순서를 다 쓰지 않아도 된다. 3. 선행 스킬 순서 목록에 없는 스킬이 존재한다. 이렇게 생각을 했을 때, 내가 구현한 코드 Flow를 설명하겠다. 1. 먼저 HashMap 에 알파벳 마지막 수인, 26이라는 수를 초기화한다. why? 우선순위 꼴지라 그.. 2022. 8. 17.
[프로그래머스 *Java] - 주식 가격 (문제 재 해석 참고) https://school.programmers.co.kr/learn/courses/30/lessons/42584 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 조건 제한 시간 : 30분 문제를 보고 이해한 그대로 풀었는데, 안 풀렸다. 문제를 참 엿같이 작성한 거 같다. 문제 재해석 링크 위 링크를 들어가면, camel-master 라는 분이, 문제를 재해석해서 지문을 작성한 글이 있다. 그걸 참고해서 문제를 다시 한 번 풀어보라 권하겠다. 분명 문제 이해를 못한 원인이 무엇인가? 바로. 예시에 나온, 3-4초 구간 때문이다. 이 문제는 주가가 떨어진 .. 2022. 8. 11.
[프로그래머스 *Java] - 타겟 넘버 https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 조건 제한시간 : 45분 이내 이번 문제는 로직정리를 위해 세 가지 정도 정리하고 구현하면 좋을 거 같다. 1. dfs 구현을 할줄 아는가? (재귀적) 2. dfs 구현 중에, 매개변수에서 해당 값을 변환시켜 계속 다음 dfs 호출하는 구현을 해본 적이 있는가? 3. dfs 구현부에서 두 개의 dfs 메서드를 호출해 본 dfs를 만들어본 적이 있는가? 아마 일반적으로 알고리즘 문제를 접한 분은 d.. 2022. 7. 28.