본문 바로가기

Algorithm

(28)
[프로그래머스] 주차 요금 계산 (Java) 카테고리 알고리즘 나만의 카테고리 알고리즘 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/92341 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 요점 알맞은 로직 짜기 적당한 자료 구조 사용 for문으로 iteration에 사용되는 객체를 for문 안에서 제거하지 않도록 주의 (런타임 에러) 참고 지식 Map, Set Map Sort 하기 풀이 (Java) import java.time.LocalDateTime; import java.time.temporal.ChronoUnit; imp..
[프로그래머스] N으로 표현 (C++, Java) 카테고리 DFS 나만의 카테고리 DFS 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42895 코딩테스트 연습 - N으로 표현 programmers.co.kr 요점 연산의 양을 많지 않게 하는 조건 + 전체 다 계산 필요 => DFS 참고 지식 DFS Math.min() 풀이 (Java) import java.util.*; class Solution { // 8이하 값이므로 final int MAX_COUNT = 9; int minAnswer = MAX_COUNT; public int solution(int N, int number) { dfs(N, number, 0, 0); if (minAnswer >= MAX_COUNT) { return -1;..
[프로그래머스] n진수 게임 (Java) 카테고리 n진수 만들기 나만의 카테고리 n진수 만들기 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/17687 코딩테스트 연습 - [3차] n진수 게임 N진수 게임 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0 programmers.co.kr 요점 n진수 만드는 법을 알아야한다. 참고 지식 n진수 만들기 풀이 (Java) class Solution { public String solution(int n, int t, int m, int p) { int numLength = (t * m) + p; String str = "..
[프로그래머스] 후보키 카테고리 문자열 처리 나만의 카테고리 DFS 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42890 코딩테스트 연습 - 후보키 [["100","ryan","music","2"],["200","apeach","math","2"],["300","tube","computer","3"],["400","con","computer","4"],["500","muzi","music","3"],["600","apeach","music","2"]] 2 programmers.co.kr 요점 데이터베이스에서 후보키 특성에 대해 이해하고 있으면 편하다 List 혹은 Array를 다루는 법에 대해 알아야한다 참고 지식 java.util.Set 풀이 (Java) import..
[프로그래머스] 방금그곡 (Java) 카테고리 문자열 처리 나만의 카테고리 문자열 처리 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/17683 코딩테스트 연습 - [3차] 방금그곡 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, programmers.co.kr 요점 문자열에서 정보를 추출하기 ChronoUnit과 DateTimeFormatter를 이용하면 시간 차이를 구할 수 있다 Java 11 이상이라면 String.repeat()를 활용하여 반복을 처리할 수 있다 char 형을 완벽한 빈 값으로는 선언할 수는 없고 \0 값을 활용해야 한다 참..
[프로그래머스] 프렌즈4블록 (Java) 카테고리 로직 짜기 나만의 카테고리 테트리스 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/17679 코딩테스트 연습 - [1차] 프렌즈4블록 프렌즈4블록 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 "프렌즈4블록". 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙 programmers.co.kr 요점 블락을 내려보내는 테트리스 문제는 for문을 역으로 순회해야한다. 참고 지식 String.toCharArray() 풀이 (Java) import java.util.*; class Solution { private char[][] glbBoard; public int solutio..
[프로그래머스] [1차] 캐시 (Java) 카테고리 로직 짜기 나만의 카테고리 상식 문제 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/17680
[프로그래머스] 호텔 방 배정 (Java) 카테고리 재귀 나만의 카테고리 재귀, 효율적 풀이 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/64063 코딩테스트 연습 - 호텔 방 배정 programmers.co.kr 요점 같은 로직을 효율적인 방법으로 풀이하는 방법을 알아야한다. 참고 지식 재귀 풀이 (Java) import java.util.*; class Solution { Map roomMap = new HashMap(); public long[] solution(long k, long[] room_number) { int roomLength = room_number.length; long[] rooms = new long[roomLength]; for (int i = 0; i < ro..
[프로그래머스] 괄호 회전하기 (Java) 카테고리 자료구조 나만의 카테고리 자료구조 - Stack 문제 링크 programmers.co.kr/learn/courses/30/lessons/76502 코딩테스트 연습 - 괄호 회전하기 programmers.co.kr 요점 Stack을 사용하여 올바른 괄호를 판단하는 로직을 구현할 수 있다. 참고 지식 Java Stack 풀이 (Java) import java.util.*; class Solution { private int answer = 0; public int solution(String s) { Stack stack = new Stack(); for (int i = 0; i < s.length(); i++) { stack.clear(); s = s.substring(1, s.length()) ..
[프로그래머스] 징검다리 건너기 카테고리 이분 탐색 나만의 카테고리 이분 탐색 문제 링크 programmers.co.kr/learn/courses/30/lessons/64062 코딩테스트 연습 - 징검다리 건너기 [2, 4, 5, 3, 2, 1, 4, 2, 5, 1] 3 3 programmers.co.kr 요점 이분 탐색을 구현할 수 있는지를 확인하는 문제 개인적으로 5만번 이상의 반복을 시키는 문제는 드물다고 생각 => 그 이상이라면 다른 방법을 찾아야한다 이분 탐색 문제의 Target 수가 없고 최대값을 찾는 문제라면 보통 배열 기준이 아닌 문제의 정답에 기준을 맞춰야한다. 참고 지식 대개 이분탐색의 Target이 정해져 있다면 탐색의 끝은 mid == target, 아니라면 min > max 일 때 끝이다 풀이 (Java) cla..