본문 바로가기

프로그래머스37

항해99 TIL 4일차 (체육복 / 프로그래머스) 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1 번째 시도 문제 파악 2번 학생은 1,3 번 학생의 교복을 빌릴 수 있지만 1번 교복을 빌리는 게 최상의 선택입니다. 왜냐하면 3번 교복을 빌릴시, 교복을 잃어버린 4번 학생이 교복을 못 빌릴 수 있기 때문입니다. 고로, 로직은 자신의 앞 번호에 해당하는 교복이 있으면 빌리고 없으면 뒤에 있는 교복을 빌리는 로직으로 짜겠습니다. 만약 3번 학생이 1번 학생의 교복을 빌리지 못한다면 4 번학생은 1 번학생의 교복을 빌릴 수 있는지 탐색을 안해도 됩니다. +) 까먹고 제한사항을 확인을 안했습니다. 다시 .. 2024. 3. 29.
항하99 TIL 3일차(바탕화면 정리/프로그래머스) 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1 번째 시도 아이디어: 그리드 / 현재 상황 속에서 최적인 해 구하기 정렬하지 않은 배열을 다 돈다. x1,y1의 최솟값을 구하고 x2,y2의 최댓값을 업데이트 해간다. import java.util.*; class Solution { public int[] solution(String[] wallpaper) { int height = wallpaper.length; int width = wallpaper[0].length(); int lux = Integer.MAX_VALUE; int luy = In.. 2024. 3. 28.
99클럽 코테 스터디 2일차 TIL(최댓값과 최솟값 /프로그래머스) 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1 번째 시도 import java.util.*; class Solution { public String solution(String s) { String[] ch = s.split(" "); int n = ch.length; int[] numbers = new int[n]; for (int i = 0; i < n; i++) { numbers[i] = Integer.parseInt(ch[i]); } int min = numbers[0]; int max = numbers[0]; for (int j = 1;.. 2024. 3. 27.
99클럽 코테 스터디 1일차 TIL(두 큐 합 같게 만들기 /프로그래머스) 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 요구사항 정리 각 큐의 합이 같도록 하는 최소 횟수 넣고 빼는데 '큐라는' 자료구조 특성을 반영해야 함 각 큐의 원소 합을 같게 만들지 못한다면 -1을 리턴 해결법 두 개를 1/2 씩 맞춘다는 관점보다 하나를 1/2 맞추면 다른 하나는 1/2가 맞춰진다로 생각 먼저 두 큐 원소의 합을 저장하는 변수 생성 최소 횟수이려면 큐 앞단에 위치한 요소들을 움직여야 함 A큐의 원소 하나를 빼서 B큐에 넣으면 B큐의 원소 하나도 A큐로 가야함(길이를 맞춰야 하기 때문에) A큐 B큐의 원소가 모두.. 2024. 3. 26.
[프로그래머스] 과제 진행 / 우선순위 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 과제는 시작하기로 한 시각이 되면 시작합니다. 새로운 과제를 시작할 시각이 되었을 때, 기존에 진행 중이던 과제가 있다면 진행 중이던 과제를 멈추고 새로운 과제를 시작합니다. 진행중이던 과제를 끝냈을 때, 잠시 멈춘 과제가 있다면, 멈춰둔 과제를 이어서 진행합니다. 만약, 과제를 끝낸 시각에 새로 시작해야 되는 과제와 잠시 멈춰둔 과제가 모두 있다면, 새로 시작해야 하는 과제부터 진행합니다. 멈춰둔 과제가 여러 개일 경우, 가장 최근에 멈춘 과제부터 시작합니다. 과제 계획을 담은 이차원 문자열 배열 pl.. 2024. 3. 14.
[프로그래머스] Lv2 두 원 사이의 정수 쌍 첫 번째 시도(실패) - 규칙 찾기 반지름 1 - 5(4+1) 반지름 2 - 13(4+9) 반지름 3 - 29(4+25) 반지름 4 - 53(4+49) - 규칙 보여서 코드 짰음 - 예외가 있었음(규칙이 아니였던 거임) 테두리가 꼭 4점만 정수여야 하는 건 아님 두 번째 시도 (성공 and 타임아웃) x,y 각각 +1 하면서 x^2 + y^2 2024. 3. 12.
[프로그래머스] 소수찾기(완전탐색, 소수 찾기) 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 사고 과정 완전 탐색으로 숫자 조합 배열에 저장하기 배열 하나씩 돌면서 소수 찾기 코드 import java.util.HashSet; public class Solution { HashSet numberSet = new HashSet(); public int solution(String numbers) { permutation("", numbers); // 가능한 모든 숫자 조합 생성 return (int) numberSet.stream().filter(this::isPrime).count(); // 소.. 2024. 2. 23.
[프로그래머스] 요격 시스템(정렬, 그리드 / 자바) 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 주황색은 폭탄이 날라가는 구간이다. 우린 이 폭탄을 미사일로 요격해야 한다. 이때 최소로 필요하는 요격 미사일 개수를 구하면 되는 문제다. 입출력 예 설명 사진 - 프로그래머스 출처 풀이 어떤 유형의 문제인지 파악하는 것이 첫 번째이다. 정렬, 그리드 문제이다. 그리드 알고리즘 : 매 순간 최적이라고 생각되는 선택을 해나가면서 최종적인 해답에 도달하는 방식 이차원 배열을 첫번째 원소 기준으로 오름차순으로 정렬한다. 카운트를 해주며 요격 구간을 변경한다. 이전 폭탄구간에 현재 폭탄 시작점이 들지.. 2024. 2. 20.
프로그래머스 sql 문제 풀이하면서 배운 점(2) 문제1 https://school.programmers.co.kr/learn/courses/30/lessons/157339 CAR_RENTAL_COMPANY_CAR 테이블과 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블과 CAR_RENTAL_COMPANY_DISCOUNT_PLAN 테이블에서 자동차 종류가 '세단' 또는 'SUV' 인 자동차 중 2022년 11월 1일부터 2022년 11월 30일까지 대여 가능하고 30일간의 대여 금액이 50만원 이상 200만원 미만인 자동차에 대해서 자동차 ID, 자동차 종류, 대여 금액(컬럼명: FEE) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 대여 금액을 기준으로 내림차순 정렬하고, 대여 금액이 같은 경우 자동차 종류를 기준으로 오름차순 .. 2024. 2. 9.