전체 글 115

[JAVA] 백준 25501 - 재귀의 귀재

브론즈 II https://www.acmicpc.net/problem/25501 25501번: 재귀의 귀재 각 테스트케이스마다, isPalindrome 함수의 반환값과 recursion 함수의 호출 횟수를 한 줄에 공백으로 구분하여 출력한다. www.acmicpc.net 문제 정휘는 후배들이 재귀 함수를 잘 다루는 재귀의 귀재인지 알아보기 위해 재귀 함수와 관련된 문제를 출제하기로 했다. 팰린드롬이란, 앞에서부터 읽었을 때와 뒤에서부터 읽었을 때가 같은 문자열을 말한다. 팰린드롬의 예시로 AAA, ABBA, ABABA 등이 있고, 팰린드롬이 아닌 문자열의 예시로 ABCA, PALINDROME 등이 있다. 어떤 문자열이 팰린드롬인지 판별하는 문제는 재귀 함수를 이용해 쉽게 해결할 수 있다. 아래 코드의 i..

[JAVA] 백준 10870 - 피보나치5

브론즈 II https://www.acmicpc.net/problem/10870 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 문제 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 된다. n=17일때 까지 피보나치 수를 써보면 다음과 같다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34..

[JAVA] 백준 15652 - N과 M (4)

실버III https://www.acmicpc.net/problem/15652 15652번: N과 M (4) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 📌 문제 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 M개를 고른 수열 같은 수를 여러 번 골라도 된다. 고른 수열은 비내림차순이어야 한다. 길이가 K인 수열 A가 A1 ≤ A2 ≤ ... ≤ AK-1 ≤ AK를 만족하면, 비내림차순이라고 한다. 📤 입력 첫째 줄에 자연수 N과 M이 주어진다...

[JAVA] 백준 27433 - 팩토리얼2

브론즈 V https://www.acmicpc.net/problem/27433 27433번: 팩토리얼 2 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 정수 N(0 ≤ N ≤ 20)이 주어진다. 출력 첫째 줄에 N!을 출력한다. 접근방법 재귀를 이용하여 n * (n - 1)이 n이 0이 될 때까지 반복하여 N!를 계산하였다. 코드 package 재귀; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public ..

[JAVA] 백준 15651 - N과 M (3)

실버III https://www.acmicpc.net/problem/15651 15651번: N과 M (3) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 📌 문제 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 M개를 고른 수열 같은 수를 여러 번 골라도 된다. 📤 입력 첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 7) 📥 출력 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각..

[JAVA] 백준 15650 - N과 M(2)

실버III https://www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 📌 문제 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 고른 수열은 오름차순이어야 한다. 📤 입력 첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) 📥 출력 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 ..

[JAVA] 백준 15649 - N과 M(1)

실버III https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 📌 문제 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 📤 입력 첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) 📥 출력 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해..

[JAVA] 백준 2839 - 설탕 배달

실버IV https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 📌 문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 ..

[JAVA] 백준 1436 - 영화감독 숌

실버V https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워 www.acmicpc.net 문제 666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워즈를 만들 때, 스타워즈 1, 스타워즈 2, 스타워즈 3, 스타워즈 4, 스타워즈 5, 스타워즈 6과 같이 이름을 지었고, 피터 잭슨은 반지의 제왕을 만들 때, 반지의 제왕 1, 반지의 제왕 ..

[JAVA] 백준 2231 - 분해합

브론즈 II https://www.acmicpc.net/problem/2231 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net 📌 문제 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245는 256의 생성자가 된다. 물론, 어떤 자연수의 경우에는 생성자가 없을 수도 있다. 반대로, 생성자가..

[UNITY] 대화창 구현하기 / Scene 전환

게임 시작 전 캐릭터들의 대화씬을 위한 대화창을 구현해보자. 대화창을 클릭하면 다음 대화 텍스트가 바뀌고, 그에 맞게 캐릭터 이미지와 캐릭터 이름이 변경되도록 구현할 것이다. 그리고 대화와 끝나면 다음 씬으로 넘어가는 씬 전환까지 구현할 것이다. 1. 새로운 Scene 생성 및 배경 설정 Assets폴더 안의 Scenes폴더에서 마우스 우클릭 > Create > Scene으로 새로운 씬을 생성한 후 원하는 이름으로 변경한다. (나중에 씬 전환을 위해 필요하다!) 그 다음 게임 배경을 생성해준다. (게임 배경 생성 방법은 아래 글 참고!) https://studybook.tistory.com/57 [UNITY] 게임 배경 설정하기 1. 게임 설명 게임 개발 동아리에서 게임 개발을 시작했다. 유니티를 처음 ..

🎮 Unity 2023.08.02

SQL DEVELOPER에서 SCOTT계정 활성화하기

1. cmd 열어 oracle 접속하기 cmd입력에 아래와 같이 입력해준다. sqlplus / as sysdba 2. scott계정으로 변경하기 기본으로 계정은 system으로 되어 있기 때문에 실습 계정인 scott계정으로 바꿔준다. 따라서 아래와 같이 입력해준다. alter user scott identified by tiger account unlock; 2-1. '사용자 SCOTT가(이)가 존재하지 않습니다' 위와 같이 입력해주면 scott계정으로 변경되는데 나는 '사용자 SCOTT가(이)가 존재하지 않습니다' 라고 떴다. 이러한 경우에는 SCOTT계정을 생성해주면 된다. 3. scott계정 생성하기 아래와 같이 입력한다. create user scott identified by tiger def..

📑 Database 2023.07.27

Oracle 설치 및 접속/SQL Developer설치 및 접속

1. Oracle 설치 및 접속 1-1. Oracle 설치 아래 사이트에 접속해 Oracle Database 21c Express Edition for Windows x64를 다운로드 한다. https://www.oracle.com/database/technologies/xe-downloads.html 압축을 풀고 setup을 클릭해 설치해준다. 1-2. Oracle 접속 cmd를 관리자 권한으로 실행한다. 아래와 같이 입력한다. sqlplus / as sysdba 2. SQL Developer 설치 및 접속 2-1. SQL Developer 설치 위 사이트에 들어가 Windows 64-bit with JDK 11 included를 다운로드한다. https://www.oracle.com/database/..

📑 Database 2023.07.26

[React + Spring Boot] Spring Boot(eclipes)와 React 연결(2)

https://studybook.tistory.com/68 Spring Boot(eclipes)와 React 연결(1) 1. Spring Boot 설정에서 gradle 프로젝트 생성 File > New > Spring Starter Project 를 클릭한다. 그 다음 원하는 프로젝트로 이름만 변경(나머지 변경X)한다. 나는 backend로 하였다. Next 클릭 Web에서 Spring Web 체 studybook.tistory.com * 윗 글에 이어서 작성된 글입니다! 1. Spring boot api 서버 만들기 backend > src/main/java > com.app 우클릭을 하고 class를 클릭해 TestController를 만든다. TestController.java를 다음과 같이 작성해..

🌐 Web/React 2023.04.08

[React + Spring Boot] Spring Boot(eclipes)와 React 연결(1)

1. Spring Boot 설정에서 gradle 프로젝트 생성 File > New > Spring Starter Project 를 클릭한다. 그 다음 원하는 프로젝트로 이름만 변경(나머지 변경X)한다. 나는 backend로 하였다. Next 클릭 Web에서 Spring Web 체크를 체크하고 Finish를 클릭하면 gradle 프로젝트가 생성된 모습을 볼 수 있다. 2. react 프로젝트 생성 File > Open Folder클릭하고 위에서 만든 backend 프로젝트에서 src > main폴더를 선택한다. View > Terminal 을 클릭하여 터미널에 'npx create-react-app 생성할 파일이름' 입력한다. 나는 frontend로 이름을 만들었다. 설치가 잘 완료되었으면 Happy Ha..

🌐 Web/React 2023.04.07

[UNITY] 아이템 랜덤 출력 (배열)

당근을 배치하고 이제 당근을 랜덤으로 출력하도록 코드를 짤 것이다. * 이전 작성 글에서 랜덤 숫자를 출력하는 부분 등 코드가 전반적으로 수정되었다. (이전 작성 글) https://studybook.tistory.com/66 [UNITY] 프리팹(Prefab) 생성 이제 당근을 배치해보자. 위 사진처럼 토끼 뒤에 당근 12개를 랜덤으로 출현시켜야 한다. 랜덤 출현을 적용하기 전에 먼저 당근 12개를 프리팹을 이용하여 배치할 것이다. 똑같은 오브젝트를 여 studybook.tistory.com EventManager 스크립트를 전반적으로 수정해주었다. using System.Collections; using System.Collections.Generic; using UnityEngine; public ..

🎮 Unity 2023.03.19

[UNITY] 프리팹(Prefab) 생성

이제 당근을 배치해보자. 위 사진처럼 토끼 뒤에 당근 12개를 랜덤으로 출현시켜야 한다. 랜덤 출현을 적용하기 전에 먼저 당근 12개를 프리팹을 이용하여 배치할 것이다. 똑같은 오브젝트를 여러 개 배치해야 하는 경우 필요한 컴포넌트를 만들면 매우 비효율적이게 된다. 이때 사용하는 것이 프리팹이다. 예를 들어, 당근 12개를 복제하여 이미지를 배치한 후 당근의 크기를 바꾸고 싶으면 12개를 하나하나 바꿔줘야한다. 하지만 프리팹을 이용하면 일일히 바꿔줘야하는 번거로움이 없어질 수 있다. 1. 프리팹 생성하기 프리팹으로 설정할 게임오브젝트를 하이어라키에 넣은 후 크기와 위치를 조정해주었다. 나는 image폴더에서 carrot 이미지를 드래그해주었다. 그리고 Assets 폴더에 Prefabs 폴더를 만들어 하이..

🎮 Unity 2023.03.05

[UNITY] 딜레이 주기(원하는 시간 뒤 이미지 출력)

성공 또는 실패 이미지를 출력하고 띄울 이미지를 원하는 시간 뒤에 나오도록 만들어보자. failure를 복붙한 뒤 rabbit으로 이름과 이미지를 변경해준다. 원하는 크기와 위치를 조정해주고 체크를 해제해 비활성화 해준다. 딜레이를 주는 방법으로 Invoke함수를 사용하였다. 원하는 함수를 원하는 시간 뒤에 실행하도록 하는 함수이다. Invoke("함수이름", 초시간) 과 같이 작성해준다. EventManager 스크립트의 코드를 아래와 같이 작성해준다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class EventManager : MonoBehaviour { private int random..

🎮 Unity 2023.02.27