TIL 39

99클럽 코테 스터디 30일차 TIL + 오늘의 학습 키워드

☑️ 문제(Leetcode): 436. Find Right Intervalhttps://leetcode.com/problems/find-right-interval/description/ ☑️ 문제 이해오른쪽 인터벌(right interval)이란? interval[i]의 오른쪽 인터벌은 다음 조건을 만족하는 interval[j]와의 간격 값이다.start_j >= end_istart_j는 모든 interval의 start 중 최솟값 (이 때 start는 유일한 값이라 중복되지 않는다.) ☑️ Codeclass Solution { public int[] findRightInterval(int[][] intervals) { int length = intervals.length; ..

99클럽 코테 스터디 29일차 TIL + 오늘의 학습 키워드

☑️ 문제(Leetcode): 300. Longest Increasing Subsequencehttps://leetcode.com/problems/longest-increasing-subsequence/description/ ☑️ Code: DP로 풀기class Solution { public int lengthOfLIS(int[] nums) { int answer = 1; int[] dp = new int[nums.length]; dp[0] = 1; for (int i = 1; i = 0; j--) { if (nums[i] > nums[j] && dp[i]  찾아보니, 이분탐색으로 푸는 방법도 있었다.

99클럽 코테 스터디 28일차 TIL + 오늘의 학습 키워드

☑️ 문제: 괄호 회전하기https://school.programmers.co.kr/learn/courses/30/lessons/76502 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr ☑️ Code오늘의 키워드: Stack 활용import java.util.*;class Solution { public int solution(String s) { int answer = 0; for (int start = 0; start stack = new Stack(); for (int i = st..

99클럽 코테 스터디 27일차 TIL + 오늘의 학습 키워드

☑️ 문제: 할인 행사https://school.programmers.co.kr/learn/courses/30/lessons/131127 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr ☑️ Codeimport java.util.*;class Solution { public int solution(String[] want, int[] number, String[] discount) { // hashMap에 want(key), index(value) 저장 Map map = new HashMap(); for (int i ..

99클럽 코테 스터디 26일차 TIL + 오늘의 학습 키워드

☑️ 문제: 달리기 경주https://school.programmers.co.kr/learn/courses/30/lessons/178871 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr ☑️ Codeimport java.util.*;class Solution { public String[] solution(String[] players, String[] callings) { // 1. 를 map 형태로 저장 Map rankMap = new HashMap(); for (int i = 0; i 핵심은, map 자료구조를..

99클럽 코테 스터디 25일차 TIL + 오늘의 학습 키워드

☑️ 문제(Leetcode): 399. Evaluate Divistionhttps://leetcode.com/problems/evaluate-division/description/ ☑️ 설계우선 이 문제의 핵심은 어떻게 "str1 / str2 = x.x"의 값을 구할 수 있냐인데,a/b = 2.0, b/c = 3.0라고 할 때, a/c의 값은 a/c = (a/b * b/c)로 구할 수 있다.처음에는 아래 조건을 만족하는 것을 완전 탐색으로 찾으려고 하였다.(정보를 가지고 있는 값을 num1/num2, num3/num4 그리고 구하고자 하는 값을 answer1 / answer2라고 하겠다.)answer1 == num1answer2 == num4num2 == num3그런데 문제 유형이 그래프라는 사실을 보고..

99클럽 코테 스터디 24일차 TIL + 오늘의 학습 키워드

☑️ 문제: 대충 만든 자판https://school.programmers.co.kr/learn/courses/30/lessons/160586 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr ☑️ 설계 및 코드1. keymap을 사용해서 A~Z를 만들 수 있는 최소 클릭 수 구하기. (int[] minClick[alphabet - 'A'] 채우기)2. targets와 minClick을 사용해서 각 targets[i]별 최소 클릭 수 구하기 (int[] answer 채우기)class Solution { public int[] solution(String[]..

99클럽 코테 스터디 23일차 TIL + 오늘의 학습 키워드

☑️ 문제: 마법의 엘리베이터https://school.programmers.co.kr/learn/courses/30/lessons/148653# 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr오늘의 키워드: 그리디 ☑️ 설계 및 코드(Kotlin)더보기첫 설계// 일의 자리 수부터, 다음을 실행. // 1. 현재 자리수가 10 - N     // (1) 10 - N     // (2) else: answer += N // 2. 위 내용을 storey가 0이 될 때까지 반복한다. 첫 설계 문제점10 - N == 5일 때는 상황이 다르다. 이 때는, 그 다음 자..

99클럽 코테 스터디 22일차 TIL + 오늘의 학습 키워드

☑️ 문제: 멀리 뛰기https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr ☑️ Codeclass Solution { public long solution(int n) { long[] answer = new long[n + 1]; for (int i = 1; i 풀이 발표 자료: https://docs.google.com/presentation/d/1QdToFY98jhiFAbOMPAK1S3atvIp7qDVt4sCsrDu9i..

99클럽 코테 스터디 21일차 TIL + 오늘의 학습 키워드

☑️ 문제: 피보나치 수https://school.programmers.co.kr/learn/courses/30/lessons/12945 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr ☑️ Codeclass Solution { public int solution(int n) { int[] fibo = new int[n + 1]; fibo[0] = 0; fibo[1] = 1; for (int i = 2; i