[99클럽] 코테 스터디 39일차 TIL - 그리디(Greedy) (2864. Maximum Odd Binary Number)
·
코딩 테스트/99클럽
문제https://leetcode.com/problems/maximum-odd-binary-number/s는 이진수이다.(ex. 0101, 101 ...)s를 최대 홀수 이진수로 변환하라예시제약조건풀이 방법코드시도1 - Os에 1과 0의 개수를 구한다.1을 oneCnt 개수-1만큼 앞에 붙인다0을 zeroCnt 개수만큼 뒤에 붙인다남은 1을 마지막에 붙여서 홀수로 만든다./** 풀이 방법s에 1과 0의 개수를 구한다.1의 개수-1만큼 앞에 붙이고 0 개수만큼 뒤에 붙이고 나머지 1을 마지막에 하나 붙인다.*/import java.util.StringTokenizer;class Solution { public String maximumOddBinaryNumber(String s) { in..
[99클럽] 코테 스터디 35일차 TIL - ArrayList(Stack) (1475. Final Prices With a Special Discount in a Shop)
·
코딩 테스트/99클럽
문제https://leetcode.com/problems/final-prices-with-a-special-discount-in-a-shop/submissions/1299093034/i번째 물건의 가격이 적혀 있는 prices[] 배열이 주어진다.i번째 물건을 구매하면 j > i && price[j] 만약 조건에 만족하는 j가 없다면 할인 받지 못함풀이 방법코드배열 이용 풀이O풀이 방법이중 for문을 돌면서 i번째 요소 값과 j번째 요소 값을 비교한다.j > i && price[j] result[] 반환class Solution { public int[] finalPrices(int[] prices) { int[] result = new int[prices.length]; ..
[99클럽] 코테 스터디 34일차 TIL - ArrayList, Queue(933. Number of Recent Calls)
·
코딩 테스트/99클럽
문제https://leetcode.com/problems/number-of-recent-calls/풀이 방법코드시도1 - ArrayList Oclass RecentCounter { private ArrayList requests; public RecentCounter() { requests = new ArrayList(); } public int ping(int t) { int result = 0; requests.add(t); for (int request : requests) { if (t-3000 풀이 방법ArrayList에 t 값을 모두 삽입한다.ArrayList를 순회하면서 범위 내에 값이 있다면 resu..
[99클럽] 코테 스터디 33일차 TIL - 큐(1700. Number of Students Unable to Eat Lunch)
·
코딩 테스트/99클럽
문제https://leetcode.com/problems/number-of-students-unable-to-eat-lunch/description/문제 설명학생들은 원형으로 줄을 서서 점심을 받습니다. 학생들은 두 가지 종류의 샌드위치를 선호합니다0번 샌드위치1번 샌드위치두 개의 배열이 주어집니다students 배열: 학생들이 줄을 선 순서와 각 학생의 샌드위치 선호도를 나타냅니다. students[i]는 i번째 학생의 선호도를 나타내며, 값은 0 또는 1입니다.sandwiches 배열: 점심을 받는 순서대로 쌓여 있는 샌드위치의 종류를 나타냅니다. sandwiches[i]는 i번째 샌드위치의 종류를 나타내며, 값은 0 또는 1입니다.학생들은 샌드위치를 받기 위해 줄을 섭니다. 매번 다음과 같은 규칙을..
[99클럽] 코테 스터디 31일차 TIL - 정렬(2733. Neither Minimum nor Maximum)
·
코딩 테스트/99클럽
문제서로 다른 정수값이 있는 nums[] 배열이 주어진다.nums[] 배열에서 최댓값도 최솟값도 아닌 값을 찾아 그중 한 개만 반환하라.만약 그런 값이 없다면 -1을 반환하라.https://leetcode.com/problems/neither-minimum-nor-maximum/풀이 방법내 코드 - 시간 복잡도: O(NlogN)nums[]를 정렬한다.nums[]를 두 번째 요소부터 순회하면서 마지막 요소와 같지 않다면 최솟값도 최댓값도 아니므로 반환한다.모든 요소를 순회하였음에도 반환이 되지 않았다면 -1을 반환한다.Arrays.sort() 시간 복잡도 O(NlogN)class Solution { public int findNonMinOrMax(int[] nums) { Arrays.so..
[99클럽] 코테 스터디 32일차 TIL - 정렬(2089. Find Target Indices After Sorting Array)
·
코딩 테스트/99클럽
문제int 배열 nums[]와 target 정수가 주어진다.nums[]를 오름차순으로 정렬한 후 nums[]에 있는 target 정수의 index를 list 형식으로 반환하라https://leetcode.com/problems/find-target-indices-after-sorting-array/description/풀이 방법nums[]를 오름차순으로 정렬한다.nums[]를 순회하며 target의 index를 찾고 list에 저장한다.list를 반환한다.class Solution { public List targetIndices(int[] nums, int target) { List list = new ArrayList(); // 1. 오름차순 정렬 Arrays.sort(nums)..