분류 전체보기

    [프로그래머스][Level3][2 x n 타일링]

    [문제 설명] https://programmers.co.kr/learn/courses/30/lessons/12900 코딩테스트 연습 - 2 x n 타일링 가로 길이가 2이고 세로의 길이가 1인 직사각형모양의 타일이 있습니다. 이 직사각형 타일을 이용하여 세로의 길이가 2이고 가로의 길이가 n인 바닥을 가득 채우려고 합니다. 타일을 채울 때는 programmers.co.kr [풀이 과정] deveric.tistory.com/61 [Java DP] 프로그래머스 2 X n 타일링 Dynamic Programming의 대표적인 문제인 2XN 타일링 문제입니다. 문제 DP문제는 케이스를 나누는 것이 중요합니다. 케이스를 나눌 때는 문제를 다 풀기 직전의 상황부터 거꾸로 푸는 방법이 좋습니다. deveric.tis..

    [JAVA] 날짜, 시간 계산 총 정리

    [JAVA] 날짜, 시간 계산 총 정리

    1. 날짜 원하는 형식으로 출력하기 // 날짜 초 소숫점까지 나타내기. Date date = new Date(); SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS"); // 초 소숫점 세자리까지 나타내기 System.out.println(simpleDateFormat1.format(date)); SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("yyyy-MM-dd hh:mm"); System.out.println(simpleDateFormat2.format(date)); // 2020-11-24 01:12:55.219 2020-11-24 01:12 2..

    [프로그래머스][Level2][JAVA] 방금 그 곡

    [프로그래머스][Level2][JAVA] 방금 그 곡

    [문제 설명] https://programmers.co.kr/learn/courses/30/lessons/17683 코딩테스트 연습 - [3차] 방금그곡 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, programmers.co.kr [풀이 과정] 꽤나 많이 삽질하고 해맨 문제다. 여기저기 다른 코드들을 참고하여 풀었다. 문제를 풀면서 포인트라고 생각한 부분들에 대해서 정리를 하겠다. 문제 조건에 다음과 같은 항목이 있다. 1. " 조건이 일치하는 음악이 여러 개일 때에는 라디오에서 재생된 시간이 제일 긴 음악 제목을 반환한다. 재생된 시간도 같을 경우 먼저 입력된..

    [JAVA] 10진수 n진수로 변환하기

    [JAVA] 10진수 n진수로 변환하기

    10진수를 2진수로 변환하는 방법은 많이 알고들 있을 것이다. 10진수를 계속해서 2로 나누다가 몫이 0이 되면 그동안 나왔던 나머지들을 역순으로 나열하면 된다. 예를 들어 16을 2진수로 변환하는 방법은 다음과 같으며 2진수로 변환한 값은 10000(2)다. 그럼 8진수, 16진수 등 N진수들은 ? 방법은 똑같다. 대신 2진수는 계속 2로 나눠주었다면, n진수는 n으로 계속 나눠주면 된다. 1. 10진수 --> 8진수 10진수 126를 8진수로 변환해보자. 처음 126을 8로 나눈 몫은 15, 나머지는 6이다. 그 다음 위에서 나온 몫 15를 다시 8로 나누면 나머지가 7이고 몫이 0일때 나머지는 역순으로 나열한 176(8)이 126을 8진수로 변환한 값이다. ∴ 126(10) --> 176(8) 2...

    [프로그래머스][Level2] 압축 - JAVA

    [프로그래머스][Level2] 압축 - JAVA

    [문제 설명] https://programmers.co.kr/learn/courses/30/lessons/17684 코딩테스트 연습 - [3차] 압축 TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34] programmers.co.kr [풀이 과정] 특별한 알고리즘을 이용하기보다는 그냥 문제에 주어진 규칙을 따라가며 풀었다. 단어가 사전에 들어가는 규칙이 있는데, 만약 "KAO" 라는 단어가 사전에 들어간다고 하면, "K" 와 "KA" 는 이미 사전에 존재한다. 때문에 "K"부터 뒤에 한 단어씩 늘리면서 사전에 있는지 탐색하다가 사전에 없는 단어 S까지 도달하면 아래 작업을 하면 된다. 1. 단어 S를..

    LRU(Least Recently Used) 캐시 알고리즘

    LRU(Least Recently Used) 캐시 알고리즘

    LRU 캐시 알고리즘 - Least Recently Used (가장 최근에 사용한) - 가장 오래전에 참조된, 덜 최근에 사용된 데이터를 내쫓는다. 최근에 참조된 것이 가까운 미래에 참조될 가능성이 높은 성질을 이용한 알고리즘이다. - JAVA에서는 Queue 자료구조를 사용하여 구현할 수 있다. 실행 과정 1) data : 1 , 캐시 비어있음. 캐시에 1 삽입 2) data : 2, 캐시 공간 있음. 캐시에 2 삽입 3) data : 3, 캐시 공간 있음. 캐시에 3 삽입 4) data : 4, 캐시 공간 있음. 캐시에 4 삽입 5) data : 1, 캐시에 이미 데이터 1이 있음. continue 6) data : 2, 캐시에 이미 데이터 2가 있음. continue 7) data : 5, 캐시가 ..