본문 바로가기

java60

[프로그래머스] [1차] 프렌즈4블록 - Java [1차] 프렌즈4블록(Lv2)https://school.programmers.co.kr/learn/courses/30/lessons/17679 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  풀이이번 문제는 완전탐색으로 풀었다.먼저 배열을 관리하기 편하도록 String[] board를 char[][] boards로 변환시켰다.for(int i=0; i 다음으로 boards 배열이 변하면 겹친 부분을 판단할 수 없으므로 char[][] arr을 이용했다.boards 배열에서 현재 위치와 (오른쪽, 아래, 대각선 아래)를 비교해서 모두 같다면 arr을 0으로 변환시켰다.// 오른쪽, 아래, 대각선 아래를 .. 2024. 11. 20.
[프로그래머스] 2 X n 타일링 - Java 2 X n 타일링(Lv2)https://school.programmers.co.kr/learn/courses/30/lessons/12900 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   제한 사항가로의 길이 n은 60,000이하의 자연수 입니다.경우의 수가 많아 질 수 있으므로, 경우의 수를 1,000,000,007으로 나눈 나머지를 return해주세요. 풀이이번 문제는 점화식을 찾으면 간단한 문제다.n = 1일 때 1개n = 2일 때 2개n = 3일 때 3개n = 4일 때 5개n = 5일 때 8개 ... 이렇게 찾다보면 n = n-1 + n-2 라는 것을 알 수 있다.  전체 Codeclass S.. 2024. 11. 18.
[프로그래머스] [3차] 파일명 정렬 - Java [3차] 파일명 정렬(Lv2)https://school.programmers.co.kr/learn/courses/30/lessons/17686 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   풀이 이번 문제는 우선순위 큐를 이용해서 풀었다. 먼저, 대소문자 구분 없이 우선순위가 결정되므로, arr 배열을 만들어서 files 배열을 복사한 후 toUpperCase를 이용해서 모두 대문자로 만들었다.이후, 우선순위 큐를 람다식을 이용해 head 기준, number 기준, idx 기준으로 설정했다. 다음으로 head와 number를 찾았다. 첫 단어는 무조건 문자이고, 중간에 숫자 하나가 반드시 포함되므로.. 2024. 11. 17.
[프로그래머스] 숫자 변환하기 - Java 숫자 변환하기(Lv2)https://school.programmers.co.kr/learn/courses/30/lessons/154538# 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  문제 설명자연수 x를 y로 변환하려고 합니다. 사용할 수 있는 연산은 다음과 같습니다.x에 n을 더합니다x에 2를 곱합니다.x에 3을 곱합니다.자연수 x, y, n이 매개변수로 주어질 때, x를 y로 변환하기 위해 필요한 최소 연산 횟수를 return하도록 solution 함수를 완성해주세요. 이때 x를 y로 만들 수 없다면 -1을 return 해주세요.  제한 사항1 ≤ x ≤ y ≤ 1,000,0001 ≤ n  풀.. 2024. 11. 16.
[프로그래머스] 오픈채팅방 - Java 오픈채팅방(Lv2)https://school.programmers.co.kr/learn/courses/30/lessons/42888 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   문제 설명카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다.신입사원인 김크루는 카카오톡 오픈 채팅방을 개설한 사람을 위해, 다양한 사람들이 들어오고, 나가는 것을 지켜볼 수 있는 관리자창을 만들기로 했다. 채팅방에 누군가 들어오면 다음 메시지가 출력된다."[닉네임]님이 들어왔습니다."채팅방에서 누군가 나가면 다음 메시지가 출력된다."[.. 2024. 11. 15.
[프로그래머스] 더 맵게 - Java 더 맵게(Lv2)https://school.programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   문제 설명매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다.섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2)Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지.. 2024. 11. 14.