Coding Test (Algorithm)(15)
-
[프로그래머스] 크기가 작은 문자열
코딩 테스트를 공부하고 있습니다📝 틀리거나 다른 부분이 있을 수 있습니다. Quiz크기가 작은 문자열 Solution(Private)이 문제는 같은 크기의 문자열을 1) 추출 2) 비교하여, '이하'가 몇 번 나왔는지 확인하는 문제이다.class Solution { public int solution(String t, String p) { int answer = 0; //substring을 활용 위한, p의 크기 int pLen = p.length(); //substring 진행 및 비교 for (int i = 0; i 여기서 확인할 포인트는 compareTo() 이다. 이 함수는 1) 문자열 길이가 같고 2) 문자열이 숫자로만 구성될 경우에만..
2025.12.13 -
[프로그래머스] 없는 숫자 더하기
코딩 테스트를 공부하고 있습니다📝 틀리거나 다른 부분이 있을 수 있습니다. Quiz없는 숫자 더하기 Solution(Private)이 문제도 풀면서 신선한 문제였다. 다들 많이 맞추는 문제이고, 정답률이 굉장히 높은 문제이다.이 문제의 정답은 다음과 같다.class Solution { public int solution(int[] numbers) { int nums = 45; for(int i = 0; i 범위가 없다면 없는 숫자를 찾아야겠지만, '범위가 있다면' 범위 전체에서 있는 숫자들을 없애는(minus) 방법도 있다는 것이다.물론 이 문제에서 숫자가 존재하는지 확인하려면 기존 배열 정렬 -> for문 통해 없는 숫자 찾기 의 방식을 택할 수 있다. 익숙한 문제이..
2025.08.12 -
[프로그래머스] 안전지대
코딩 테스트를 공부하고 있습니다📝 틀리거나 다른 부분이 있을 수 있습니다. Quiz안전지대 Solution(Private)새로운 시각을 배울 수 있던 문제였다. 핵심 포인트는 다음과 같다.1. 지뢰를 발견한 지역(a,b)를 기준으로 하여, 위험 지대는 다음으로 분류될 수 있다.(a-1, b-1) (a-1, b) (a-1, b+1) (a, b-1) (a, b+1) (a+1, b-1), (a+1, b) (a+1, b+1)2. 지뢰와 위험 지대를 제외한 곳이 안전 지대이다.이중 for문을 통해 지뢰 위치를 찾고, 지뢰 위치인 경우 추가로 for문을 이용하여 안전 지대를 위험 지대로 바꾸면 된다. 이후 지뢰(1) 지역이나 위험 지역(편의상, 2)을 제외한 곳이 안전 지대라고 판단하여, 위치를 찾으면 된다. ..
2025.08.10 -
[프로그래머스] 구슬을 나누는 경우의 수
Quiz구슬을 나누는 경우의 수 Solution(Private) 팩토리얼 개념을 이해하고 풀어볼 수 있는 문제이다. 문제가 몇 번 틀리다가, JAVA에서 int는 범위가 정해진 타입임을 떠올리고, 처음부터 분모/분자를 나눠주는 식으로 문제를 풀게 되었다. 여기서 포인트를 다음처럼 생각했다. [예 : 5개의 공이 있는데, 3개를 가져가는 케이스는?] (분자) 5 * 4 * 3 * 2 * 1(분모) (3 * 2 * 1) * (1 * 2) 여기서 3이란 숫자를 기준으로 하여 공통된 숫자를 지우면, (분자) 5 * 4(분모) 1 * 2 이 남게 된다! 따라서 for문을 이용하여 기준점까지 진행될 수 있도록 하였다.class Solution { public int solution(int balls, i..
2025.08.10 -
[백준] 11382번 - 꼬마 정민
코딩 테스트를 공부하고 있습니다📝 틀리거나 다른 부분이 있을 수 있습니다. Quiz11382:꼬마 정민 Solution(Private)Runtime 에러 (NumberFormat)이 발생했길래, 원인을 찾아보니.. int 형이 아니라 long을 사용해야 했다.입력받는 수가 큰 수이기에, int의 범위를 초과했던 것!! import java.util.*;public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); String[] input = sc.nextLine().trim().split("\\s+"); long answer = 0; f..
2025.08.03 -
[CodingTest] 평행
📝 두 선분이 있다고 가정을 하고, 두 선분이 평행하기 위해서는? 두 선분의 기울기가 같으면 된다. 1. 기울기 구하기 점이 2개 있다고 가정을 해보자 (x1, y1), (x2, y2) 두 점을 잇는 선분의 기울기를 구하는 공식은 ( x2 − x1 ) / ( y2 − y1 )가 될 수 있다. 2. 기울기를 구하는 공식의 문제점 다만 JAVA 언어에서 "/"는 몫을 구하는 연산자이기에 '두 선분의 기울기'를 구하는 것이 마땅하지 않게 된다. 3. 해결하기 위해서는? 나눗셈을 피하면 된다. 예를 들어 점 4개가 있다고 가정을 해보자. (x1, y1), (x2, y2), (x3, y3), (x4, y4) 두 점을 잇게 되면 기울기는 다음과 같이 구할 수 있다. 첫 번째 선분 기울기 : ( x2 ..
2025.08.03