728x90

알고리즘 26

[소프티어 레벨1] 근무시간 – Java로 시간 차이(분) 계산하기

사용 언어 : JAVA문제 : https://softeer.ai/practice/6254https://school.programmers.co.kr/learn/courses/30/lessons/12951레벨 : 1✅ 문제 요약출근시간과 퇴근시간 사이의 일한 시간을 계산일한 시간은 “분” 단위로 계산✅ 문제 설명당신은 인사팀 직원으로, 각 직원의 근태를 확인하고자 한다.당신의 회사는 자율출퇴근제를 실시하기 때문에 각 직원이 정확히 몇 시에 출근하는 것은 중요하지 않고, 총 근로 시간이 몇 분인지가 중요하다. 총 근로 시간이 법정근로시간을 초과하지 않아야 하면서, 회사와 직원 사이에 계약한 시간 이상이어야 하기 때문이다.직원이 하루 동안 근무한 시간은 출근 시각과 퇴근 시각 사이의 시간으로 정의한다. 이 문제..

[프로그래머스] JadenCase 문자열 만들기 JAVA 풀이

사용 언어 : JAVA문제 : https://school.programmers.co.kr/learn/courses/30/lessons/12951레벨 : .2✅ 문제 요약문자열 자르기와 숫자 판단 정규식을 이용한 간단한 풀이 문제숫자가 아닌 경우 문자열의 첫 문자를 대문자로 바꿔 주면 된다.단, 첫문자를 판단하는 기준은 공백문자(" ") 다음 문자✅ 문제 설명JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고) 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한조건s는 길이 1이상 200 이..

[백준1783] 병든 나이트 - 4가지 이동 조건을 활용한 Java 분기 처리

사용 언어 : JAVA문제 : https://www.acmicpc.net/problem/1783레벨 : 실버3 ✅ 문제 요약dfs 문제라고 생각했으나 입력 값의 범위를 보고 아니라고 판단패턴을 파악해서 풀이하는 문제병든 나이트의 패턴(오른쪽으로만 움직일 수 있음)2칸 위로, 1칸 오른쪽1칸 위로, 2칸 오른쪽1칸 아래로, 2칸 오른쪽2칸 아래로, 1칸 오른쪽4칸 이상이면 4가지 패턴 모두 사용해야 함.✅ 문제 설명 병든 나이트가 N × M 크기 체스판의 가장 왼쪽아래 칸에 위치해 있다. 병든 나이트는 건강한 보통 체스의 나이트와 다르게 4가지로만 움직일 수 있다.2칸 위로, 1칸 오른쪽1칸 위로, 2칸 오른쪽1칸 아래로, 2칸 오른쪽2칸 아래로, 1칸 오른쪽병든 나이트는 여행을 시작하려고 하고, 여행을 ..

[백준 4963번] 섬의 개수 – Java DFS 풀이

사용 언어 : JAVA문제 : https://www.acmicpc.net/problem/4963레벨 : 실버2  ✅ 문제 요약dfs 문제에 대각선 방향 추가 상하좌우 + 대각선으로 연결 된 1들은 같은 섬으로 봄1끼리 연결된 구역의 수를 세는 문제입력은 여러 개의 지도이고, (w,h) = 0 0 일 경우 종료 ✅ 문제 설명 정사각형으로 이루어져 있는 섬과 바다 지도가 주어진다. 섬의 개수를 세는 프로그램을 작성하시오.한 정사각형과 가로, 세로 또는 대각선으로 연결되어 있는 사각형은 걸어갈 수 있는 사각형이다. 두 정사각형이 같은 섬에 있으려면, 한 정사각형에서 다른 정사각형으로 걸어서 갈 수 있는 경로가 있어야 한다. 지도는 바다로 둘러싸여 있으며, 지도 밖으로 나갈 수 없다.입력입력은 여러 개의 테스트..

[백준 2468번] 안전 영역 – Java DFS 풀이

사용 언어 : JAVA문제 : https://www.acmicpc.net/problem/2468레벨 : 실버1  ✅ 문제 요약기본적인 dfs 문제어떤 지역이 2차원 배열로 주어지고, 각 칸에는 해당 지점의 높이가 주어지고 비가 많이 오면 특정 높이 이하의 땅은 물에 잠김물에 잠기지 않는 땅들이 연결되어 있는 덩어리(=안전 구역)가 몇 개인지 계산. 단, 최대로 안전한 구역이 몇 개인지 출력 ✅ 문제 설명입력첫째 줄에는 어떤 지역을 나타내는 2차원 배열의 행과 열의 개수를 나타내는 수 N이 입력된다. N은 2 이상 100 이하의 정수이다. 둘째 줄부터 N개의 각 줄에는 2차원 배열의 첫 번째 행부터 N번째 행까지 순서대로 한 행씩 높이 정보가 입력된다. 각 줄에는 각 행의 첫 번째 열부터 N번째 열까지 N..

[프로그래머스 LV1] 바탕화면 정리 - Java 완전탐색 + 드래그 최소 거리 문제 풀이

사용 언어 : JAVA문제 : https://school.programmers.co.kr/learn/courses/30/lessons/161990?language=java레벨 : 1  ✅ 문제 요약프로그래머스 "바탕화면 정리" 문제는 완탐으로 풀면 되는 문제.시작점 => (최초 서류가 있는 x 좌표, 서류 위치 중 제일 낮은 y 좌표)끝점 => ( 마지막 서류가 있는 x 좌표, 서류 위치 중 제일 높은 y 좌표) ✅ 문제 설명문제코딩테스트를 준비하는 머쓱이는 프로그래머스에서 문제를 풀고 나중에 다시 코드를 보면서 공부하려고 작성한 코드를 컴퓨터 바탕화면에 아무 위치에나 저장해 둡니다. 저장한 코드가 많아지면서 머쓱이는 본인의 컴퓨터 바탕화면이 너무 지저분하다고 생각했습니다. 프로그래머스에서 작성했던 코드..

[백준 14495번] 피보나치 비스무리한 수열 - JAVA, 점화식 대입 방법 풀이

사용 언어 : JAVA문제 : https://www.acmicpc.net/problem/14495레벨 : 실버4  ✅ 문제 요약백준 14495번 문제는 주어진 공식을 대입해서 푸는 문제문제에 주어진 식을 대입해서 풀면 되는 문제로 크게 어려운 문제는 아님int 형 범위 초과로 long 타입을 써줘야 하는 함정 문제.  ✅ 문제 설명문제피보나치 비스무리한 수열은 f(n) = f(n-1) + f(n-3)인 수열이다. f(1) = f(2) = f(3) = 1이며 피보나치 비스무리한 수열을 나열하면 다음과 같다.자연수 n을 입력받아 n번째 피보나치 비스무리한 수열을 구해보자!1, 1, 1, 2, 3, 4, 6, 9, 13, 19, ...입력자연수 n(1 ≤ n ≤ 116)이 주어진다.출력n번째 피보나치 비스무리..

[백준 1929번] 자바로 소수 구하기 - 루트 N 소수 판별 알고리즘 설명 포함

사용 언어 : JAVA문제 : https://www.acmicpc.net/problem/1929  ✅ 문제 요약백준 1929번 문제는 주어진 범위 내에서 소수 출력 문제.모든 수를 대입해 소수를 찾게 되면 시간 제한에 걸리므로, 시간 효율성을 위해 루트 N 방식을 활용 해 문제를 풀었다.  ✅ 문제 설명문제M이상 N이하의 소수를 모두 출력하는 프로그램 작성입력첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다.출력한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다.# 예제 입력 13 16# 예제 출력 13571113  ✅ 핵심 아이디어/알고리즘어떤 수 n이 소수인지 확인하기 위해서는 2부터 √n(루..

[이것이 코딩테스트다] 떡볶이 떡 만들기, JAVA 풀이

사용언어 : JAVA 출처 : 이것이 코딩테스트다(201 Page) 난이도 : 중간 풀이시간 : 40분 1.문제 오늘 동빈이는 여행 가신 부모님을 대신해서 떡집 일을 하기로 했다. 오늘은 떡볶이 떡을 만드는 날이다. 동빈이는 떡볶이 떡은 재밌게도 떡볶이 떡의 길이가 일정하지 않다. 대신에 한 봉지 안에 들어 가는 떡의 총 길이는 절단기로 잘라서 맞춰준다. 절단기에 높이(H)를 지정하면 줄지어진 떡을 한 번에 절단한다. 높이가 H보다 긴 떡은 H 위의 부분이 잘릴 것이고, 낮은 떡은 잘리지 않는다. 예를 들어 높이가 19, 14, 10, 17cm인 떡이 나란히 있고 절단기 높이를 15, 14, 10, 15가 될 것이다. 잘린 떡의 길이는 차례대로 4, 0, 0, 2cm이다. 손님은 6cm만큼의 길이를 가져..

[이것이 코딩테스트다] 만들수 없는 금액, JAVA 자바 풀이

사용언어 : JAVA 출처 : 이것이 코딩테스트다(314 Page) 난이도 : 쉬움 풀이시간 : 30분 1.문제 동네 편의점의 주인인 동빈이는 N개의 동전을 가지고 있습니다. 이때 n개의 동전을 이용하여 만들 수 없는 양의 정수 금액 중 최솟값을 구하는 프로그램을 작성하세요. 예를 들어, N=5이고, 각 동전이 각각 3원, 2원, 1원, 9원짜리 (화폐 단위) 동전이라고 가정합시다. 이때 동빈이가 만들 수 없는 양의 정수 금액 중 최솟값은 8원입니다. 또 다른 예시로, n=3이고, 각 동전이 각각 3원, 5원, 7원짜리(화폐 단위) 동전이라고 가정합시다. 이때 동빈이가 만들 수 없는 양의 정수 금액 중 최솟값은 1원입니다. 2.입력 - 첫째 줄에는 동전의 개수를 나타내는 양의 정수 N이 주어집니다. ( 1

728x90