IT/알고리즘
-
[알고리즘 문제] 숫자야구 구현IT/알고리즘 2019. 4. 18. 10:19
예전에 숫자야구를 만드는 문제를 풀었던 적이 있다. 숫자야구는 한플레이어(컴퓨터)가 중복이 없는 1부터 9까지의 임의의 숫자 3개를 정하면 다른 플레이어가 그 3개의 숫자를 맞추는 게임이다. 숫자와 그 숫자의 자리까지 다 맞춰야하는데 숫자와 자리가 둘다 맞으면 스트라이크, 숫자만 맞고 자리가 틀리면 볼, 숫자와 자리가 맞는게 하나도 없다면 아웃이다. 10번의 시도안에 숫자와 자리 전부 맞추면 이기는게임이다! (어렸을때 수업시간에 많이했던 게임 ㅎ) 그때는 문제를 푸는데 되게 오래걸렸는데 풀면서 되게 재밌었던 것으로 기억한다.지금 꽤 시간이 지났는데 과연 풀 수 있을까?!해서 다시 한번 풀어봤는데 생각보다 너무 쉬워서 놀랬다..예전에 그렇게 고생했는데 ㅠㅠㅠ 나도 성장을 한걸까..!(울컥) 그때는 어떻게 ..
-
[알고리즘 문제] 백준 알고리즘 1673번 : 치킨쿠폰IT/알고리즘 2019. 4. 3. 10:18
공짜 치킨을 받을 수 있는 경우 쿠폰의 개수(n) + 쿠폰을 사용해 먹음으로써 쌓인 도장으로 먹을 수 있는 개수 + 도장을 사용해 시킨 치킨으로 쌓인 도장으로 먹을수 있는 개수 소스코드 ↓↓ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 public class chickenCoupon { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan = new Scanner(System.in); while(true){ int n = scan.nextInt(); int k = scan.nextInt(); if(n == 0 && k ==..
-
[알고리즘 문제] 큐(Queue) - 리스트 활용IT/알고리즘 2019. 3. 28. 14:10
자료구조에서 중요한 것중에 하나인 큐(queue)큐는 먼저 들어간 데이터가 먼저나오는 선입선출(FIFO) 구조이다 스택을 이용해 구현할 수도 있지만 나는 리스트를 이용해 큐를 구현해 보았다 소스코드 ↓↓↓123456789101112131415161718192021222324252627282930313233343536373839package com.coding.test04; import java.util.ArrayList;import java.util.List;import java.util.Scanner; public class queueTest { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int num ..
-
[알고리즘 문제] 백준 알고리즘 13163번 : 닉네임에 갓 붙이기IT/알고리즘 2019. 3. 25. 10:37
백준 알고리즘에서 재미있는 문제를 찾았다 ㅇvㅇ 프로그램에서 먼저 공백을 찾고 그 공백전 문자들을 모두 god으로 바꾼뒤에 나머지 공백들을 없애주는식으로 프로그램을 짜면되겠다라는 생각을 했다. 이 문제에서 replace메소드를 이용했는데 replace는 원하는문자를 바꿔주는 기능을 한다. replace(a , b) -> a를 b로 바꿔라replaceAll(a, b) -> 해당 문자열에서 모든 a를 b로 바꿔라 소스 코드 ↓↓↓ 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051package com.coding.test02; import java.util.Scanner; public clas..
-
[알고리즘 문제] 백준 알고리즘 4458번 : 첫글자를 대문자로IT/알고리즘 2019. 3. 20. 11:00
내가 가장 먼저 생각한 방식은 이러하다 1. String으로 문자열을 입력받고 charAt(index) 메소드를 통해서 첫번째 문자를 읽어온다.2. 이 문자를 toUpperCase()를 통해 대문자로 변환한다3. 반복문을 통해서 첫번째 문자를 제외한 나머지 문자들을 출력한다. 소스코드 ↓↓↓ 12345678910111213141516171819202122232425262728public class ABCupper { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan = new Scanner(System.in); int N = scan.nextInt(); String[] alphabet = new ..
-
[알고리즘 문제] 팩토리얼IT/알고리즘 2019. 3. 18. 10:10
반복문을 이용해 쉽게 풀 수있는 문제이다. 바로 코드를 보면 될 것같다! ↓↓↓↓ 1234567891011121314151617181920212223242526272829303132public class Factorial { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan = new Scanner(System.in); int n = scan.nextInt(); //입력받은 숫자를 저장할 변수 int res = n; //팩토리얼 계산 결과 저장 변수 //계산 과정 출력 for(int i=n; i>=1; i--) { if(i == 1) { System.out.println(i + "! = " +i)..
-
[알고리즘 문제] 백준 알고리즘 2814번 : 최소인수IT/알고리즘 2019. 3. 17. 11:00
생각 및 풀이순서 ↓↓↓ P를 입력받아 P보다 큰 숫자들을 P로 나누어보고 나누어 떨어지면 계속 P로 나누는걸 반복하는데 만일 나누어떨어지지 않는다면이보다 큰 숫자로 나눠지지 않을 것이라 판단했다. 그래서 몫이 1이 될때까지 P로만 나눌 수 있다면 그 숫자가 최소인수가 P인 숫자일 것이라 생각했고 그 숫자들을 배열에 저장했다.최소인수가 P인 숫자중에서 N번째로 작은 숫자를 출력해야하기 때문에 배열에서 N-1인덱스를 출력해 준다. 소스코드↓↓↓ 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960public class primefactor { public sta..
-
[알고리즘 문제] 백준 알고리즘 1225번 : 이상한 곱셈IT/알고리즘 2019. 3. 11. 12:30
문제를 읽고 내가 먼저 생각한 풀이 순서는몫과 나머지를 이용해 숫자의 자릿수들을 구한 뒤 배열에 저장2중 for문을 이용해 두 배열의 각 자릿수들을 곱하여 새로운 배열에 저장새로운 배열에 저장한 숫자들을 전부 더한 후 출력 바로 코드를 보도록 하자 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879public class StrangeMult { public static void main(String[] args) { Scanner scan = new Scanner(System.in); //숫..