GiantStepDEV
article thumbnail
자바(Java) [백준] 2153번 : 소수 단어
🔄 Algorithm/BaekJoon 2023. 2. 7. 19:05

문제 소수란 1과 자기 자신으로만 나누어떨어지는 수를 말한다. 예를 들면 1, 2, 3, 5, 17, 101, 10007 등이 소수이다. 이 문제에서는 편의상 1도 소수로 하자. 알파벳 대소문자로 이루어진 영어 단어가 하나 있을 때, a를 1로, b를 2로, …, z를 26으로, A를 27로, …, Z를 52로 하여 그 합을 구한다. 예를 들어 cyworld는 합을 구하면 100이 되고, abcd는 10이 된다. 이와 같이 구한 수가 소수인 경우, 그 단어를 소수 단어라고 한다. 단어가 주어졌을 때, 그 단어가 소수 단어인지 판별하는 프로그램을 작성하시오. 입력 첫째 줄에 단어가 주어진다. 단어의 길이는 20자 이하이다. 주어지는 단어는 알파벳 소문자와 대문자만으로 이루어져 있다. 출력 아래의 예제와 같..

article thumbnail
자바(Java) - 예외처리
🗄️ Backend/Java 2023. 2. 7. 18:53

예외 클래스? 실행중인 프로그램이 의도하지 않은 동작을 하거나 프로그램이 중지되는 것을 막기 위해 예외 처리를 한다. 프로그램에서 처리하는 예외 클래스의 최상위 클래스는 Exception 클래스 이다. 시스템 오류 & 예외 1. 시스템 오류(Error) : 개발자가 제어 할 수 없음 2. 예외(Exception) : 프로그램에서 제어 가능 (try ~ catch ~ finally 블록) 예) 프로그램에서 파일을 읽을 수 없는 경우, 네트워크로 데이터를 주고 받고자 하는데 네트워크가 연결이 안된 경우, 배 열 값을 출력하고자 하는데 배열 요소가 없는 경우 등 ArrayIndexOutOfBoundException 배열 범위 초과에 대한 예외 처리 public class Main { public static ..

자바(Java) - Thread(멀티 스레드) 2 - RPG 게임 만들기
🗄️ Backend/Java 2023. 2. 7. 18:31

멀티 스레드를 이용하여 한 캐릭터가 죽을 때 까지 실행하는 프로그램 만들기! 캐릭터는 전사(warrior)와 마법사(wizard)를 만들겠습니다. 능력치는 객체 생성할 때 설정하도록 하겠습니다. 설계 내용 상속과 인터페이스 적용 스레드 동작 확인 게임 캐릭터를 생성하고 스레드를 통해 실시간 전투 진행 Main import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("강력한 체력과 물리 공격력의 전사 이름을 정하세요 : "); String warriorName = sc.next(); System.out.print..

article thumbnail
자바(Java) [백준] 1152번 : 단어의 개수
🔄 Algorithm/BaekJoon 2023. 2. 6. 20:21

문제 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다. 입력 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열은 공백으로 시작하거나 끝날 수 있다. 출력 첫째 줄에 단어의 개수를 출력한다. 처음에 제출한 코드가 틀려서 질문 게시판을 찾아보니!!! 공백 입력시 0이 나와야 한다는 답변을 보고 머리를 쳤다. 답변 주신 분 감사합니다. 해서 코드를 끄적끄적 고치고 난 뒤 정답 확인! import java.util.Sc..

자바(Java) - 더하기 사이클
🔄 Algorithm/etc 2023. 2. 6. 18:51

해당 문제는 백준 1110번 문제이고, 블로그에도 올렸었는데 오늘 강사님께서 이 문제를 내주셔서! 오랜만에 다시 한 번 더 풀게 되었습니다. 블로그에 올릴까 말까 했는데, 나름의 또 시행착오가 있어서 복기하고자 올려봅니다. 1. 문제 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자리 수를 이어 붙이면 새로운 수를 만들 수 있다. 다음 예를 보자. 26부터 시작한다. 2+6 = 8이다. 새로운 수는 68이다. 6+8 = 14이다. 새로운 수는 84이다. 8+4 = 12이다. 새로운 ..

자바(Java) - 10진수 2진수 변경하기
🔄 Algorithm/etc 2023. 2. 6. 18:26

문제 10진수가 주어지면 2진수로 변경하고 이를 다시 10진수로 변경 합니다. 입력 10 출력 1010 10 import java.util.ArrayList; import java.util.Scanner; public class Main { public static void main(String[] args) { double sum = 0; ArrayList arr = new ArrayList(); ArrayList arr2 = new ArrayList(); Scanner sc = new Scanner(System.in); int n = sc.nextInt(); while(true) { arr.add(n % 2); n /= 2; if(n < 1) break; } for(int i = arr.size() ..

article thumbnail
파이썬(Python) - pygame 라이브러리를 이용해 추억의 [피카츄 배구게임] 만들기
📂 My Project 2023. 2. 4. 16:55

안녕하세요? 일주일이 또 순식간에 지나가고 주말이 왔습니다. 주말엔 뭐다? 이것저것 혼자서 우당탕탕 뭐라도 만드는 시간이다.🤓 저번 주에 유튜버 나도코딩님의 영상을 보고 Pong 게임을 만들었었는데요. 말미에 다음엔 피카츄 배구게임으로 돌아오겠다고 했었죠. 호기롭게 말하고 나서 막상 구현하려니 어려워서 조금 시간이 걸렸습니다. 심지어 굉장히 엉성합니다. ^^;; 코드 정리를 좀 깔끔하게 해야 하는데 그러지 못하고 올리게 되었습니다. 혹시 보시고 의견이 있으신 분은 댓글 달아주시면 감사드리겠습니다!! 규칙 공이 스테이지에 닿으면 상대편 점수 증가하고, 캐릭터 위 쪽에서 등장 점수 5 되면 게임 종료 좌/우 로만 이동 가능 🐶 1p : a(좌) d(우) space(가속) 🐶 2p : ←(좌) →(우) ent..

article thumbnail
자바(Java) - Thread(멀티 스레드)
🗄️ Backend/Java 2023. 2. 2. 20:34

멀티 스레드(Multi Thread)? 하나의 프로그램에서 여러가지 일을 동시에 수행하는 것 When code running in some thread creates a new Thread object, the new thread has its priority initially set equal to the priority of the creating thread, and is a daemon thread if and only if the creating thread is a daemon. Main Thread 💡모든 자바 어플리케이션은 Main Thread가 main() 메소드를 실행하면서 시작됩니다. 💡스레드는 운영체제가 실행시키기 때문에 약간의 텀이 있음 싱글 스레드는 메인 스레드가 종료되면 프로세..

article thumbnail
자바(Java) [백준] 4153번 : 직각삼각형
🔄 Algorithm/BaekJoon 2023. 2. 2. 19:53

문제 과거 이집트인들은 각 변들의 길이가 3, 4, 5인 삼각형이 직각 삼각형인것을 알아냈다. 주어진 세변의 길이로 삼각형이 직각인지 아닌지 구분하시오. 입력 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다. 출력 각 입력에 대해 직각 삼각형이 맞다면 "right", 아니라면 "wrong"을 출력한다. 내 코드(답안) import java.util.Scanner; public class Main { public static void main(String[] args) { int[] num = new int[3]; Scanner sc = new Scanner(System.in); ..

article thumbnail
자바(Java) - 컬렉션 프레임워크(6) (Stack)LIFO, (Queue)FIFO
🗄️ Backend/Java 2023. 2. 2. 19:45

Stack? LIFO(Last in First Out) 구조, 스택을 이용한 대표적인 예시로 JVM의 스택 메모리를 들 수 있습니다. 스택 메모리에 저장된 변수는 나중에 저장된 것 부터 먼저 제거 됩니다. 스택은 내부적으로 Vector 클래스를 상속 받아 만들어 졌습니다. 프로그램 내에서 메소드의 호출이 쌓이는 구조에 사용 됩니다. 입력과 출력이 한 곳에서만 일어납니다. 관련 메소드 push() : 객체를 저장 합니다. public E push(E item) peek() : 스택 맨 위의 값 확인 pop() : 스택의 맨 위의 값을 추출하면서 보여줌 public E pop() ➡️ Removes the object at the top of this stack and returns that object a..