본문 바로가기
728x90
반응형

코딩테스트190

[프로그래머스/java] 멀리 뛰기 https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이번 포스팅은 멀리 뛰기 입니다. 이 문제를 풀려면 bottom-up 방식의 동적 프로그래밍(Dynamic Programming)을 알면 좋습니다. 대표적으로 bottom-up 방식은 피보나치 수열이 있습니다. a1 = 1 a2 = 1 a3 = a1 + a2 = 2 a4 = a2 + a3 = 3 n ≥ 3 일 때, An = An-2 + An-1 이 성립됩니다. 이렇게 피보나치 수열을 쓸 줄 알면 .. 2022. 10. 12.
[프로그래머스/java] JadenCase 문자열 만들기 https://school.programmers.co.kr/learn/courses/30/lessons/12951 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고) 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 s는 길이 1 이상 200 이하인 문자열입니다. s는 알파벳.. 2022. 9. 10.
[프로그래머스/java] 거리두기 확인하기 - 카카오 기출 https://school.programmers.co.kr/learn/courses/30/lessons/81302 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ※ 문제 접근 방법 answer를 places의 길이만큼 초기화 for문 - places 생성 P의 위치를 담을 Queue 생성 chArr 배열 초기화 문자열을 쪼개서 chArr에 값을 넣는다 P의 위치를 Queue에 넣는다 while문을 돈다 visit에 P 위치 방문여부 체크 방향별 탐색 배열 크기 초과하는지 확인 X일 때는 그냥 넘어감 P일 땐 바로 결과 0 O일 땐 O의 위치에서 다시 탐색.. 2022. 8. 28.
[프로그래머스/java] 행렬 테두리 회전하기 https://school.programmers.co.kr/learn/courses/30/lessons/77485 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ※ 문제 접근방법 (1) 2차원 배열 1부터 rows * cols까지 값 완성하기 (2) 쿼리별 위치값 초기화. (2,2) -> (1,1) (3) 행과 열의 차이값 구하기 (4) Queue 선언하기 (5) Queue에 시작 위치값 넣기 (6) Queue값을 뽑아서 다음 위치값을 넣고, 다음 위치에 뽑은 값 넣기 (7) row 혹은 col 카운트 올리기 (8) 방향체크 (9) while문 종료 시 .. 2022. 8. 24.
[프로그래머스/java] 피로도 https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제는 완전탐색 문제. check 배열과 갯수 카운트만 잘 신경써주면 쉽게 풀 수 있다. public void find(int dgCnt, int hp, int[][] dungeons, int cnt) { if(hp >= 0) { max = Math.max(max, cnt); } for (int i = 0; i < dungeons.length; i++) { if(!check[i]) { chec.. 2022. 8. 11.
[프로그래머스/Oracle] 우유와 요거트가 담긴 장바구니 https://school.programmers.co.kr/learn/courses/30/lessons/62284?language=oracle 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제는 Yogurt와 Milk를 담은 장바구니의 ID를 추출하면 되는 문제이다. 이 문제를 풀기 위해서는 여러 방법으로 생각해봤지만, 내 선에서 제일 간단한 방법은 요거트와 우유를 담은 각각의 장바구니 아이디를 서브쿼리로 조회 결과를 만든 다음에, 두 조회 결과의 장바구니 아이디가 같은 것을 찾는 방법을 사용했다. SELECT DISTINCT A.CART_ID FR.. 2022. 8. 7.
728x90
반응형