LeeDiculous
article thumbnail
야구게임
알고리즘 2023. 2. 6. 22:55

BaseballGame - 임의의 수 3자리의 숫자를 맞추는 게임 123이 정답이고 134를 입력했을 시, 1S1B 출력 같은 자리의 숫자 일치 = 스트라이크 S 서로 다른 자리의 숫자 일치 = 볼 B 게임 오버 = 3Strike 1. 중복되지 않는 1 ~ 9 난수 3개를 구한다. -> 배열 2. 키보드로부터 3개의 숫자를 입력받는다. -> 배열 3. 스트라이크, 볼의 갯수를 체크 4. 결과 출력 5. 8번째 성공 코드 import java.util.Random; import java.util.Scanner; public class Main { static Scanner sc = new Scanner(System.in); public static void main(String[] args) { Rando..

article thumbnail
문자열 문제 5종
알고리즘 2023. 2. 6. 22:36

문자 찾기 설명 한 개의 문자열을 입력받고, 특정 문자를 입력받아 해당 특정 문자가 입력받은 문자열에 몇 개 존재하는지 알아내는 프로그램을 작성하세요. 대소문자를 구분하지 않습니다. 문자열의 길이는 100을 넘지 않습니다. 입력 첫 줄에 문자열이 주어지고, 두 번째 줄에 문자가 주어진다. 문자열은 영어 알파벳으로만 구성되어 있습니다. 출력 첫 줄에 해당 문자의 개수를 출력합니다. import java.util.Locale; import java.util.Scanner; public class Quest01 { static Scanner sc = new Scanner(System.in); public static void main(String[] args) { int count = 0; System.out..

article thumbnail
주문
알고리즘 2023. 2. 6. 10:51

회원이 물품을 주문할 수 있고, 주문한 물품들을 출력할 수 있다. 도메인: 회원(member), 물품(product), 주문(order) Item.java public class Item { private String itemName; private int price; public String getItemName() { return itemName; } public void setItemName(String itemName) { this.itemName = itemName; } public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } public Item() { } public Item(S..

article thumbnail
단방향 Linked List 뒤부터 세기
알고리즘 2023. 1. 12. 11:59

❓문제 단방향 Linked List의 끝에서 K번째 노드를 찾는 알고리즘을 구현하시오. 첫 번째 방법 찾는 노드가 뒤에서부터 첫 번째라고 하면 아래의 방법으로 처음부터 4번째 노드임을 알 수 있습니다. k = 1 4 - k = 3 + 1 = 4 이를 코드로 구현해봅시다. public static Node KthToLast(Node first, int k){ Node n = first; int total = 1; while(n.next != null){ total++; n = n.next; } n = first; for(int i = 1; i < total - k + 1; i++){ n = n.next; } return n; } 두 번째 방법 단방향 Linked List는 항상 맨 앞에 있는 노드부터 카운..

article thumbnail
선택정렬(Selection Sort)
알고리즘 2023. 1. 11. 12:51

자바로 선택정렬 하는 코드를 알아보겠습니다. 재귀함수인 두 번째 selectionSort 함수를 살펴보면, 비교 대상 배열 방을(arr[start]) 배열 전체를 하나씩 비교해 가며 최솟값을 갱신해 나갑니다. 전체 비교를 마치고 얻은 최솟값을 배열의 첫 번째 인덱스로 옮기고 값을 하나 올려 재귀호출을 합니다. public class SelectionSort { private static void selectionSort(int[] arr){ selectionSort(arr, 0); } private static void selectionSort(int[] arr, int start){ if(start < arr.length - 1){ int min_index = start; for(int i = star..

article thumbnail
Robot in a Grid
알고리즘 2023. 1. 10. 23:06

문제 A robot is sitting on the upper left corner of a grid. The robot can only more in two directions, right and down. Certain cells are "off limits" such that the robot cannot step on them. Design and algorithm to find a path for the robot from the top left to the bottom right. 풀이 package algorithm; import java.util.ArrayList; class Point { int row, col; Point(int row, int col) { this.row = row; ..

article thumbnail
최솟값 만들기
알고리즘 2023. 1. 10. 14:16

문제 길이가 같은 배열 A, B 두 개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱한 값을 누적하여 더합니다. 이때 최종적으로 누적된 값이 최소가 되도록 만드는 것이 목표입니다. (단, 각 배열에서 k번째 숫자를 뽑았다면 다음에 k번째 숫자는 다시 뽑을 수 없습니다.) 첫 번째 풀이 곱들의 합이 제일 최소가 될 경우는 (제일 작은 값 X 제일 큰 값)의 합이라고 생각하고 구현을 해보았습니다. public int solution(int[] A, int[] B){ int answer = 0; for(int i = 0; i < A.length; i++){ for(int j = 0; j ..

article thumbnail
JadenCase 문자열 만들기
알고리즘 2023. 1. 10. 13:15

문제 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고) 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해 주세요. 제한 조건 s는 길이 1 이상 200 이하인 문자열입니다. s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다. 숫자는 단어의 첫 문자로만 나옵니다. 숫자로만 이루어진 단어는 없습니다. 공백문자가 연속해서 나올 수 있습니다. 풀이 아래의 풀이는 boolean 타입의 변수를 이용해 공백이 있으면 true로 변경해 대문자로 만들어 주고 나머지 경우는 전부 소문자로 만듭니다. 풀이만..

article thumbnail
Two Sum
알고리즘 2023. 1. 10. 11:44

문제 Given an array of integers, return indices of the two numbers such that they add up to a specific target. 첫 번째 풀이 - O(n^2) 쉽게 생각할 수 있는 간단한 풀이입니다. public int[] twoSumV1(int[] nums, int target){ for(int i = 0; i

article thumbnail
비트연산 - Bit Operation
알고리즘 2023. 1. 9. 22:14

알아보기 Java에서는 Integer가 4 bytes이므로, (4 bytes = 32 bits) 32개의 칸이 있다고 생각해도 됩니다. 이 서른두 개의 각 칸에는 오직 0과 1만 들어갈 수 있습니다. 아래 숫자 8로 예를 들어 보면. 0000...0001000이고 나머지 공간은 0으로 채워집니다. 그렇다면 이 32 개의 공간으로 표현할 수 있는 개수가 몇 개일까요? 공간(칸) 하나당 표현할 수 있는 정보는 0과 1로 두개입니다. 즉 32 개의 공간이라면 표현할 수 있는 숫자의 가짓수는 2^{32} 개가 맞습니다. 하지만 숫자는 0부터 시작하기 때문에 표현할 수 있는 숫자의 최대 크기는 2^{32} -1 입니다. 정수에는 양의 정수, 음의 정수가 있기 때문에, 맨 앞의 한칸을 사인으로 사용하기로 합니다. ..

profile on loading

Loading...