일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- excalidraw
- 셀레니움
- 스트림
- 값 객체
- 개발자 디자인
- NAVER D2
- 스터디 관리
- REST
- 자바
- OpenAI
- 위키 꾸미기
- 스프링 회원가입 인증
- 프로그래머스
- 잘하고싶다..
- ssh
- 현장실습
- 위키 탭
- 사이드 프로젝트
- 숭실대
- 스프링
- DNS동작원리
- 현장실습 IT
- Java
- aws ec2
- nurigo
- Spring
- 문자 인증
- 정렬 기준
- 인턴
- Executors
- Today
- Total
목록프로그래머스 (10)
뭐요
https://school.programmers.co.kr/learn/courses/30/lessons/67257 first-tryexpression 순회해당 char가 operator면 좌우에 있는 operand를 while문 사용해서 가져오기이 때 operand 가져와서 계산해주고 다시 값을 삽입해주는 코드가 너무 복잡했음expression 자체에서 String의 idx로 접근하면 다음이 너무 복잡함양 옆 oeprand 가져오는 기능 구현계산 후 해당 자리수에 insert 한 뒤 바뀐 expression.length()만큼 고려해서 i를 뺴주어야 함 second-tryList 만들어서 operand와 operator 분리하는 게 구현하기 더 쉽다고 판단import java.util.*; class S..
https://school.programmers.co.kr/tryouts/71876/challenges# 아래와 같은 이유로 시간을 많이 사용함구현하기에는 너무 복잡하다 생각해서 정렬을 통한 묘수가 있을 것이라고 생각했음. 문제를 제대로 이해하지 못함. import java.util.*; class Solution { private List answer = new ArrayList(); public String[] solution(String[] orders, int[] course) { sortOrders(orders); for(int thisCourse : course){ Map map = new HashMap(); // 조합으로 thisCourse개 뽑기 for(String order : order..

https://school.programmers.co.kr/tryouts/71893/challenges first-try오로지 idx를 활용해서 빡구현으로 가볍게 문제 풀었음.import java.util.*; class Solution { List answerList = new ArrayList(); public int[] solution(int[] progresses, int[] speeds) { int idx = 0; while(idx = 100){ int deployment = 0; for(int i = idx; i < progresses.length; i++){ if(progresses[i] < 100) break; de..
https://school.programmers.co.kr/tryouts/71915/challenges# class Solution { public int solution(int n, int k) { int answerCount = 0; String convertKnary = Integer.toString(n, k); for(int i = 0 ; i < convertKnary.length(); i++){ char ch = convertKnary.charAt(i); if(ch == '0') continue; StringBuilder sb = new StringBuilder(); for(; i < convertKnary.length(); i++){ char thisCh = convertKnary.charAt..
https://school.programmers.co.kr/tryouts/71916/challenges import java.util.*; class Solution { private int DEFAULT_TIME, DEFAULT_FEE, UNIT_TIME, UNIT_FEE; private Map map = new HashMap(); // 차량번호 to 입차시각 private Map parkingTimeMap = new HashMap(); private Map feeMap = new HashMap(); public int[] solution(int[] fees, String[] records) { init(fees); // set 차량별 주차시간 총합 StringTokenizer st; for(Strin..

https://school.programmers.co.kr/tryouts/71927/challengesfirst-tryimport java.util.*; class Solution { public String solution(String input_string) { StringBuilder sb = new StringBuilder(); Set set = new HashSet(); for(int i = 0 ; i < input_string.length(); i++){ char thisCh = input_string.charAt(i); if(sb.toString().contains(Character.toString(thisCh))) continue; if(!set.contains(thisCh)){ set.a..

https://school.programmers.co.kr/tryouts/71912/challenges 기존에 백트래킹 사용해서 구했더니 시간 초과났음. 사실 범위가 100만이라 예측했으나 별다른 방법이 떠오르지 않아서 일단 구현했었음.잘 모르겠어서 다른 사람 풀이 참고함 import java.util.*; class Solution { public String solution(String number, int k) { StringBuilder sb = new StringBuilder(); int lastIdx = 0; for(int i = 0 ; i < number.length() - k; i++){ int max = 0; for(int j = lastIdx; j

https://school.programmers.co.kr/tryouts/71894/challenges# 이전에 한 번 풀어봤던 문제임에도 불구하고 쉽게 풀리진 않았음. import java.util.*; class Solution { Queue queue = new LinkedList(); public int solution(int bridge_length, int weight, int[] truck_weights) { int time = 0; int nowWeight = 0; int truckIdx = 0; while(truckIdx < truck_weights.length){ int truck = truck_weights[truckIdx]; time++; // queue꽉찬 경우 poll if(qu..

https://school.programmers.co.kr/tryouts/71892/challenges#first-try문제 분석하락하는 지점이 생기면 stack pop 하며 가능한 경우는 모두 즉시 갱신해야겠다고 생각함. 결론부터 말하면 문제 푸는 방식 자체는 맞았는데 다음의 문제 때문에 테스트에 통과하지 못함.가격이 떨어지지 않은 기간 계산 오류stack에 price를 push했기 때문에 따로 변수 선언해서 ++ 해주며 갱신해주었다. 이렇게 하면 하나의 극점을 지난 경우는 정상적으로 가격이 떨어지지 않은 기간을 계산해줄 수 없었다. second-try중요한건 prices 배열이 주어져있으므로 배열 안의 값 자체를 저장하는 게 아니라 second를 stack에 넣자. second로 prices배열에 접..
https://school.programmers.co.kr/tryouts/71897/challenges 의식의 흐름다음과 같은 방식으로 문제를 풀어야겠다고nodeinfo[][]를 통해 tree 만들기재귀적으로 전위 순회하기재귀적으로 후위 순회하기정답 return하기 어떻게 tree를 만들지에 대한 고민이 많았음⇒ y값을 기준으로 내림차순 정렬하기⇒ 0번 idx를 root로 하여 하나씩 left, right setting 해주며 tree 만들기 Solve.import java.util.*; class Solution { class Node{ int x, y; int data; Node left; Node right; Node(int x, int y, int data){ this.x = x; this.y =..