일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 모던자바
- Brute-force
- 운영체제
- Java8
- backtracking
- algorithm
- OS
- java
- 프로그래머스
- 코틀린
- lambda
- programmers
- 자료구조
- TDD
- DP
- 알고리즘
- baekjoon
- 백트래킹
- 백준
- back-end
- 프로젝트
- BFS
- kotlin
- Spring
- 스프링
- 자바
- LEVEL2
- DFS
- 네트워크
- 그래프
- Today
- Total
목록프로그래머스 (24)
요깨비's LAB
https://school.programmers.co.kr/learn/courses/30/lessons/298517 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr select ID, LENGTH from FISH_INFO order by LENGTH desc, ID asc limit 10;
https://school.programmers.co.kr/learn/courses/30/lessons/301646 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제에서 이진수에 대한 설명이 있었고 이진수로 true/false 분기를 판단해야 하므로, 비트연산이 필요 select count(id) as COUNT from ECOLI_DATA where GENOTYPE & 2 = 0 and (GENOTYPE & 1 > 0 or GENOTYPE & 4 > 0)
class Solution { fun solution(id_list: Array, report: Array, k: Int): IntArray { var answer = mutableListOf() val userMap = mutableMapOf() for(id in id_list) { userMap.putIfAbsent(id, User(id, 0, 0)) } val reportSet = mutableSetOf() for (element in report) { reportSet.add(element) } for (element in reportSet) { val fromTo = element.split(" ") val from = fromTo[0] val to = fromTo[1] val user = us..
class Solution { public String[] solution(int n, int[] arr1, int[] arr2) { String[] answer; String[] result = new String[n]; for(int i=0;i
import java.util.HashMap; import java.util.Map; class Solution { public int[] solution(int[] lottos, int[] win_nums) { int[] answer = new int[2]; Map rankMap = new HashMap(); rankMap.put(6,1); rankMap.put(5,2); rankMap.put(4,3); rankMap.put(3,4); rankMap.put(2,5); rankMap.put(1,6); int maxScore = getMaxScore(lottos, win_nums); int minScore = getMinScore(lottos, win_nums); answer[0] = rankMap.get..
1. 문자열 구분이 필요 "{" "," "}" 별로 수행해야하는 로직을 정의해서 구현 2. 주어지는 값이 중복이 없고, 길이도 제각각 (a3, a2, a4, a1) 요런식으로 다르게 주어지므로 List 선택 3. 하지만 List를 listSize별로 정렬할건데 성능 개선을 위해 연산을 하면서 listSize를 미리 증가 연산을 해서 리스트 정렬하기 위해 리스트 전체를 카운트하지 않도록 구현 4. 이를 위해 List, 리스트크기를 담는 Element 클래스를 작성 5. 이후는 코드 내용과 그대로 진행 import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; class Solution { ..
1. 우선순위 3가지 3! 연산으로 생성 2. 생성된 우선순위 기반으로 중위표현식을 후위표현식으로 생성 3. 생성된 후위표현식을 계산 4. 최대값과 비교 및 업데이트 요것만 반복해주면 됩니다. 근데 계속 틀렸다고해서 시간 엄청허비했는데 알고보니 Map 컬렉션에 저장해놓고 다음 연산을 위해서 이전 값 삭제 연산을 안해서 났던 에러... 참 아직도 멀었네요 import java.util.*; class Solution { public long solution(String expression) { long answer = 0; char[] operators = {'+', '-', '*'}; char[] carr = expression.toCharArray(); List exp = new ArrayList();..
class Solution { static int len; static int keyLen; static int lockLen; static int[][] map; public boolean solution(int[][] key, int[][] lock) { boolean answer = true; keyLen = key.length; lockLen = lock.length; len = lockLen + (2 * (lockLen - 1)); // len = keyLen + (2 * (keyLen - 1)); => 착오 map = new int[len][len]; int lockZeroCnt = 0; for (int i = 0; i < lockLen; i++) { for (int j = 0; j < loc..