목록코테 (81)
개발자는 기록이 답이다
https://school.programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 첫번째 틀린 풀이 실전 PS상황에서는 해당 문제가 어떤 유형인지 알려주지 않기 때문에, 일단 내 방식대로 접근했다. 하지만 2가지 문제점이 있었다. (1) 시간 초과 : 반복분 조건포함해서 N² + 정렬 NlogN으로 -> N²logN이 되버림 (2) 제한 사항 누락 : 모든 음식의 스코빌 지수를 K 이상으로 만들 수 없는 경우에는 -1 반환하는 부분이 없음 테스트케이스로 틀린 예시는 아래와 같다..
7. 조합의 경우수(메모이제이션) 예시 입력 1 5 3 예시 출력 1 10 예시 입력 2 33 19 예시 출력 2 818809200 강의 풀이(Time: 153ms Memory: 27MB) 먼저 nCr에 대해 이해보자 nCr : n개 중에 r개를 뽑는다는 의미이다 종이에는 지우고 썼다가 불편해서 블랙보드로 샀더니 비치는건 양해부탁드립니다.. {1,2,3,4,5}라는 배열처럼 5명의 학생이 있는데, 5번 학생을 뽑을 경우와 안뽑을 경우로 DFS를 접근하면 된다 아래처럼만 해도 nCr을 구할 수 있긴하지만, 입력값이 크다면 재귀를 많이 뻗기 때문에 오래 걸릴 것이다. 그래서 메모이제이션이 필요하다 // 메모이제이션 X import java.util.Scanner; public class Main { publ..
https://school.programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.*; public class Solution { public int[] solution(int[] answers) { int[] first = {1,2,3,4,5}; // 5개씩 반복 int[] second = {2,1,2,3,2,4,2,5}; // 8개씩 반복 int[] third = {3,3,1,1,2,2,4,4,5,5}; // 10개씩 반복 int answer1..
https://school.programmers.co.kr/learn/courses/30/lessons/86491 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 사고력의 문제이다. 문제에서 설명하는 것처럼 최대값을 찾아서 분기처리로 가로 세로 바꿔주려고 했으면 엄청 오래 걸릴 것 같다 가로, 세로의 최대값, 최소값을 구하고 그 최대값과 최소값의 최대값을 구하면 빠르게 풀린다. public class Solution { public int solution(int[][] sizes) { int hMax = Integer.MIN_VALUE; // 수평 int ..