본문 바로가기
반응형

코딩테스트/자바22

[백준 2503] 숫자야구 (자바) 백준 2503번: 숫자야구문제 설명숫자야구 게임은 상대방의 숫자를 맞추는 게임입니다. 상대방은 1부터 9까지 서로 다른 세 숫자를 정하고, 우리는 그 숫자를 맞추기 위해 시도합니다. 각 시도마다 다음과 같은 정보를 받습니다:스트라이크: 자리와 숫자가 모두 맞는 경우볼: 숫자는 맞지만 자리가 틀린 경우주어진 시도와 결과를 바탕으로 가능한 모든 경우의 수를 계산하는 문제입니다.문제 접근 방법1부터 9까지의 숫자 중 세 개를 중복 없이 선택합니다.각 선택된 숫자가 주어진 조건을 만족하는지 확인합니다.모든 조건을 만족하는 숫자 조합의 수를 계산합니다.시간 복잡도 분석O(N * 504)이 문제는 1부터 9까지의 숫자 중 세 개를 중복 없이 선택하는 모든 경우를 확인해야 합니다. 따라서 가능한 조합의 수는 9P3 .. 2024. 6. 29.
[백준 19532] 수학은 비대면 강의입니다. BOJ 19532: 수학은 비대면강의입니다 - 풀이문제 설명백준 온라인 저지의 문제 19532번 "수학은 비대면강의입니다"는 연립방정식을 푸는 문제입니다. 두 개의 1차 방정식이 주어졌을 때, 그 해를 구하는 문제입니다.주어진 방정식은 다음과 같습니다:( ax + by = c )( dx + ey = f )여기서 ( a, b, c, d, e, f )는 정수로 주어집니다. 우리는 이 방정식을 만족하는 ( x )와 ( y )를 찾아야 합니다. 모든 입력값은 -999부터 999 사이의 정수입니다.문제 접근 방법이 문제는 두 개의 1차 방정식을 만족하는 ( x )와 ( y )를 찾는 문제입니다. 이를 위해 이중 반복문을 사용하여 가능한 모든 ( x )와 ( y ) 값을 대입하여 해를 찾는 방식으로 접근할 수 있습.. 2024. 4. 21.
[백준 14568] 2017_연세대학교_프로그래밍_경시대회 (자바) package week_01; import java.io.*; public class BOJ_14568_2017_연세대학교_프로그래밍_경시대회 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); int answer = 0; for (int a = 1; a < n + 1; a++) { for (int b = 1; b < n + 1; b++) { for (int c = 1; c < n + 1; c++) { if (a + b + c == n && a.. 2024. 4. 11.
[백준 1816] 암호키 (자바) package week_01; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class BOJ_1816_암호_키 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); // 테스트 케이스의 수 입력 long[] S = new long[n]; // 테스트 케이스의 암호를 저장할 배열 생성 // 암호들을 배열에 저장 fo.. 2024. 4. 7.
[프로그래머스] 게임 맵 최단거리(level2) (자바) package com.programmers; import java.util.LinkedList; import java.util.Queue; /** * https://programmers.co.kr/learn/courses/30/lessons/1844?language=java * 방문 처리를 해버리면 다른 루트에서 접근할 때 도착하지를 못한다. bfs일 경우 최단 거리로 갈 수 있기 때문에 방문처리를 false로 바꿀 일이 필요 없다. */ public class 게임맵_최단거리 { public static void main(String[] args) { int[][] maps = { {1, 0, 1, 1, 1}, {1, 0, 1, 0, 1}, {1, 0, 1, 1, 1}, {1, 1, 1, 0, 1}, .. 2021. 11. 14.
[프로그래머스] N개의 최소공배수 (자바) 문제 풀이 유클리드호제(최대공약수) 알고리즘을 활용하여 풀 수 있다. package com.programmers; /* 문제 설명 두 수의 최소공배수(Least Commontem Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 담은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 반환하는 함수, solution을 완성해 주세요. 제한 사항 arr은 길이 1이상, 15이하인 배열입니다. arr의 원소는 100 이하인 자연수입니다. 입출력 예 arr result [2,6,8,14] 168 [1,2.. 2021. 10. 17.
[프로그래머스] 큰 수 만들기 (level2) (자바) 문제 풀이 문제를 잘 파악하는 것이 중요하다. 힙소트(오답) -> 조합(시간초과) -> 풀이(그리디)를 보고 문제를 풀 수 있었다. package com.programmers; import java.util.PriorityQueue; import java.util.Queue; /** * 문제 설명 * 어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하려 합니다. * * 예를 들어, 숫자 1924에서 수 두 개를 제거하면 [19, 12, 14, 92, 94, 24] 를 만들 수 있습니다. 이 중 가장 큰 숫자는 94 입니다. * * 문자열 형식으로 숫자 number와 제거할 수의 개수 k가 solution 함수의 매개변수로 주어집니다. number에서 k 개의 수를 제거했을 때 만들.. 2021. 10. 17.
반응형