본문 바로가기

STUDY ALONE326

[Lv.1] 프로그래머스 - 개인정보 수집 유효기간 : Java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   이해하기처음 접근했던 방식은 다음과 같다.List에 저장해두고 int 배열로 변환해서 반환해야지today를 기준으로 terms의 개월수만큼 뺀 날짜를 계산해서 따로 String 배열에 저장해야지e.g. today = "2022.05.19", terms = {"A 6", "B 12", "C 3"}expired[] = {"2021.11.18", "2021.05.18", "2022.02.18"}여기까지 구현했는데 문제가 생겼다. terms의 "A", "B", "C"를 구분해서 비교해줘야하는데, 나는 그냥 Strin.. 2024. 5. 13.
[Lv.0] 프로그래머스 - 진료순서 정하기 : Java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   이해하기처음에는 문제가 잘 이해돼지 않았는데, emergency가 응급한 정도를 나타낸다고 생각하니 이해가 됐다.예를 들어 첫번째 예시인 [3, 76, 24] 중 가장 응급한 76이 1번, 그 다음으로 24가 2번, 3이 3번인 식이다.  문제풀이import java.util.*;class Solution { public int[] solution(int[] emergency) { int[] answer = new int[emergency.length]; Arrays.fill(a.. 2024. 5. 10.
[Lv.0] 프로그래머스 - 정수를 나선형으로 배치하기 : Java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   이해하기비슷한 문제를 그래도 좀 풀었다고 생각했는데 항상 바로바로 떠오르지가 않는다.넣어줄 값인 value (초기값 1로 시작)행과 열 row, col방향 direction (초기값 0) value가 n * n일 때까지 while문 반복answer[row][col]에 value 넣고 value += 1방향이 0이면 (오른쪽으로 이동)col이 n - 1이거나 현 위치의 오른쪽에 0이 아닌 다른 값이 들어있는 경우방향 전환 : 1row++아니라면 col++방향이 1이면 (아래쪽으로 이동)row가 n - 1이거나 .. 2024. 5. 10.
[Lv.0] 프로그래머스 - 구슬을 나누는 경우의 수 : Java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   이해하기 문제 맨 밑에 이런 힌트가 있어서 팩토리얼을 구현해서 풀어야지! 했다가 실패했다.왠지 모르겠어서 조합으로 풀려다가 또 실패...질문하기 탭을 봤더니 더 쉬운 방법이 있어서 기록해둔다. 만약 공이 30개 있고, 그 중 5개를 뽑는다고 생각해보자.위의 힌트에 적용시키면 30! / (25! x 5!) 이다.다시 정리하면 (30 x 29 x 28 x 27 x 26) / (5 x 4 x 3 x 2 x 1) 이 된다. 이걸 가지고 다시 풀이하였다.  문제풀이import java.util.*;class Solut.. 2024. 5. 10.
[Lv.0] 프로그래머스 - 특정 문자열로 끝나는 가장 긴 부분 문자열 찾기 : Java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   이해하기너무 쉬운 문제인데 endsWith()를 한 번에 떠올리지 못해서 기록해둔다.또 처음 풀이했을 때는 앞에서부터 substring 했는데, 생각해보니 뒤에서부터 substring하는 것이 가장 긴 문자열을 찾는데에 더 빠를 것 같아 수정하였다.  문제풀이class Solution { public String solution(String myString, String pat) { for (int i = myString.length(); i >= 0; i--) { Str.. 2024. 5. 10.
[Lv.1] 프로그래머스 - 기사단원의 무기 : Java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   이해하기처음에는 1부터 n까지 전부 돌며 약수의 개수를 구하는 count() 함수를 만들어서 풀이했는데, 시간초과로 실패했다.항상 틀리고 나서 생각나는 에라토스테네스의 체...적용해서 풀이했더니 바로 통과했다.  문제풀이import java.util.*;class Solution { public int solution(int number, int limit, int power) { int answer = 0; int[] weapon = new int[number]; .. 2024. 5. 10.