[unity] 콤보 시스템
보호되어 있는 글입니다.
2022.05.22
[unity] 리듬 게임 만들기 -노트
보호되어 있는 글입니다.
2022.05.22
no image
[백준/2588번] 곱셈
매우 간단!! 문제 (세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다. (1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다. 출력 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다. 예제 입력 출력 472 385 2360 3776 1416 181720 문제풀이(JAVA) import java.util.Scanner; public class Main{ public static void main(String args[]){ Scanner s..
2022.05.01
no image
[프로그래머스] 문자열을 정수로 바꾸기
문제 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한사항 s의 길이는 1 이상 5이하입니다. s의 맨앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져있습니다. s는 "0"으로 시작하지 않습니다. 예제 문제풀이(JS) function solution(s) { let answer = 0; answer = Number(s) return answer; } 더보기 - Javascript 문자를 숫자로 바꾸는 함수 let num = Number(s);
2022.04.28
no image
[Git/Git 기본] Git에서 브랜치 합치기
https://learngitbranching.js.org/?locale=ko Learn Git Branching An interactive Git visualization tool to educate and challenge! learngitbranching.js.org 1. 실습 git branch bugFix git checkout bugFix git commit git checkout main git commit git merge bugFix 2. 코드 설명 2-1 git branch 브랜치명 - 브랜치 생성하기 git branch bugFix 2-2 git checkout 브랜치명 - 브랜치 이동 git checkout bugFix 2-3 git commit - 커밋 git commit 2-4 ..
2022.04.09
no image
[WEB2 - Node.js/생활코딩] 변수와 Template Literal
1. Data Type - Number(숫자) console.log(1+1); console.log(4-1); console.log(2*2); console.log(10/2); 2. Data Type - String(문자열) console.log('1'+'1'); console.log('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer ut felis elit. Sed aliquam, lorem ac hendrerit egestas, velit sapien vulputate sem, et dapibus magna nulla eu diam. Donec mi purus, semper sed sem molestie, aliquet varius ..
2022.04.09
no image
[Github Desktop] ERROR - warning: LF will be replaced by CRLF
처음하는 유니티 프로젝트.. 새로운 프로젝트를 만들고 리포지토리로 commit 하는 과정에서 오류가 뜸 warning: CRLF will be replaced by LF in Assets/EffectExamples/Shared/Prefabs/WaterFilled.prefab.meta. The file will have its original line endings in your working directory error: open("Temp/UnityLockfile"): Permission denied error: unable to index file 'Temp/UnityLockfile' fatal: adding files failed 구글링 해도 잘나안나와서 고생했음.. 유니티 프로젝트 .gitigno..
2022.04.04
no image
[백준/코딩테스트/10809번] 알파벳 찾기
문제 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성한다. 입력 첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다. 출력 각각의 알파벳에 대해서 a가 처음 등장하는 위치, b가 처음 등장하는 위치, z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다. 예제 문제풀이(JAVA) import java.util.Scanner; public class Main { public st..
2022.03.31

[unity] 콤보 시스템

2022. 5. 22. 00:28

This is a protected article. Please enter the password.

[unity] 리듬 게임 만들기 -노트

2022. 5. 22. 00:27

This is a protected article. Please enter the password.

[백준/2588번] 곱셈

냥치기소녀
|2022. 5. 1. 17:43

매우 간단!!

 

문제


(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.



(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 
(3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.

 

입력

첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가,
둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다.

출력

첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.

 

예제

입력 출력
472
385
2360
3776
1416
181720

 

문제풀이(JAVA)

import java.util.Scanner;

public class Main{
    public static void main(String args[]){
         Scanner sc = new Scanner(System.in);
	        
	     int num1 = sc.nextInt();
	     int num2 = sc.nextInt();
	       
	     int output[] = new int[4];
	      
	     output[0] = num1 * (num2%10);
	     output[1] = num1 * (num2%100/10);
	     output[2] = num1 * (num2/100);
	     output[3] = num1 * num2;
	        
	     for(int i =0; i < 4; i++){
	         System.out.println(output[i]);
	     }
	       
	     sc.close();
    }
}

 

< 추가 설명 (예제) >

1) 첫 번째 출력 : num1 * (num2%10); 

 - (3)에 들어갈 값은 472 x 5의 연산 결과이다. 즉, 첫 번째 입력값과 두 번째 입력값의 일의 자리 수를 곱하는 것       이다. 따라서 일의 자리를 구하는 연산인 (두 번째 입력값%10)을 첫 번째 입력값에 곱해주었다.

 => 385%10 = 5

 

2) 두 번째 출력 : num1 * (num2%100/10); 

 - (4)에 들어갈 값은 472 x 8의 연산 결과이다. 즉, 첫 번째 입력값과 두 번째 입력값의 십의 자리 수를 곱하는 것       이다. 따라서 십의 자리를 구하는 연산인 (두 번째 입력값%100/10)을 첫 번째 입력값에 곱해주었다.

 => 385%100 = 85, 85/10 = 8

 

3) 세 번째 출력 : num1 * (num2/100); 

 - (5)에 들어갈 값은 472 x 3의 연산 결과이다. 즉, 첫 번째 입력값과 두 번째 입력값의 백의 자리 수를 곱하는 것       이다. 따라서 백의 자리를 구하는 연산인 (두 번째 입력값/100)을 첫 번째 입력값에 곱해주었다.

 => 385/100 = 3

 

4) 네 번째 출력 : num1 * num2;

 - (6)에 들어갈 값은 472 x 385의 연산 결과이다. 

문제

문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.

 

제한사항

s의 길이는 1 이상 5이하입니다.
s의 맨앞에는 부호(+, -)가 올 수 있습니다.
s는 부호와 숫자로만 이루어져있습니다.
s는 "0"으로 시작하지 않습니다.

 

 

예제

 

 

문제풀이(JS)

function solution(s) {
    let answer = 0;
    answer = Number(s)
    return answer;
}

 

더보기

 

< 추가 설명 >

- Javascript 문자를 숫자로 바꾸는 함수

let num = Number(s);

 

https://learngitbranching.js.org/?locale=ko 

 

Learn Git Branching

An interactive Git visualization tool to educate and challenge!

learngitbranching.js.org

 

1. 실습

git branch bugFix
git checkout bugFix
git commit
git checkout main
git commit
git merge bugFix

 

 

2. 코드 설명

2-1 git branch 브랜치명 - 브랜치 생성하기 

git branch bugFix

 

2-2 git checkout 브랜치명 - 브랜치 이동

git checkout bugFix

 

2-3 git commit - 커밋

git commit

2-4 git merge 브랜치명 - 현재 브랜치와 명령문에 적은 브랜치 합치기

git merge bugFix

 

 

1. Data Type - Number(숫자)

console.log(1+1);
console.log(4-1);
console.log(2*2);
console.log(10/2);

2. Data Type - String(문자열)

console.log('1'+'1');

console.log('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer ut felis elit. Sed aliquam, lorem ac hendrerit egestas, velit sapien vulputate sem, et dapibus magna nulla eu diam. Donec mi purus, semper sed sem molestie, aliquet varius felis. Cras ante mi, convallis malesuada risus sed, interdum malesuada odio. Nullam congue quam nec consequat placerat. Pellentesque eu nulla quis mi elementum feugiat id vitae arcu. Sed sed elit at odio aliquet finibus a non erat. Quisque sodales faucibus sapien sit amet lobortis. Nam ac eros vitae ligula ultricies vulputate sed ac nibh. Praesent eu erat non lacus laoreet vestibulum. Cras eleifend orci vitae nulla iaculis sollicitudin. Cras pretium id sapien vel pretium. Curabitur laoreet quis massa ut faucibus. Suspendisse laoreet nibh et dui molestie molestie.'.length);
  • - ' '(작은 따옴표)나 " "(큰 따옴표)로 표기
  • .length : 글자의 수 구하기

3. 변수

var a = 1;
console.log(a);
a = 2;
console.log(a);
// 1 = 2; comment
var name = 'k8805';
var letter = 'Dear ' + name + ' Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer ut felis elit. Sed aliquam, lorem ac hendrerit egestas, velit sapien vulputate sem, et dapibus magna nulla eu diam. Donec mi purus, semper sed sem molestie, aliquet varius felis. Cras ante mi, convallis malesuada risus sed, interdum malesuada odio. Nullam congue quam nec consequat placerat. Pellentesque eu nulla quis mi elementum feugiat id vitae arcu. Sed sed elit at odio aliquet finibus a non erat. Quisque sodales faucibus sapien sit amet lobortis. Nam ac eros vitae ligula ultricies vulputate sed ac nibh. Praesent eu erat non lacus laoreet vestibulum. Cras eleifend orci vitae nulla iaculis sollicitudin. Cras pretium id sapien vel pretium. Curabitur laoreet quis massa ut faucibus. ' + name + 'Suspendisse laoreet nibh et dui molestie molestie.';

console.log(letter);
  • 데이터에 이름을 부여하는 것
  • 데이터를 저장할 수 있는 메모리 공간을 의미
  • 저장된 값은 변경 가능
  • 장점 : 중복 코드 최소화

 

4. Template Literal

var name = 'k8805';
var letter = 'Dear' + name + '\n\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Integer ut felis elit.  Curabitur laoreet quis massa ut faucibus. ' + name + 'Suspendisse';

var a = 1; // 숫자라는 데이터를 표현하는 리터럴
var letter = `Dear ${name}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer ut felis elit. ${1+1} Curabitur laoreet quis massa ut faucibus. ${name} Suspendisse`;

console.log(letter);
  • 백틱(` `)을 이용
  • ${ }로 플레이스 홀더를 넣을 수 있음

 

  • Literal : 코드상에서 데이터를 표현하는 방식

 

 

 

처음하는 유니티 프로젝트..

 

새로운 프로젝트를 만들고

리포지토리로 commit 하는 과정에서

오류가 뜸

 

warning: CRLF will be replaced by LF in Assets/EffectExamples/Shared/Prefabs/WaterFilled.prefab.meta.
The file will have its original line endings in your working directory
error: open("Temp/UnityLockfile"): Permission denied
error: unable to index file 'Temp/UnityLockfile'
fatal: adding files failed

 

구글링 해도 잘나안나와서 고생했음..

 

유니티 프로젝트 .gitignore 파일이 있었음

참고했더니 바로 해결됨

 

 

=> .gitignore을 추가하면 된다

 

내가 참고한 파일

*~
.DS_Store
 
[Ll]ibrary/
[Tt]emp/
[Oo]bj/
[Bb]uild/
[Bb]uilds/
Assets/AssetStoreTools*
Assets/EntityCache
 
Recordings/
 
# Visual Studio cache directory
.vs/
 
# Autogenerated VS/MD/Consulo solution and project files
ExportedObj/
.consulo/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb
*.opendb
 
*.pidb.meta
*.pdb.meta
 
sysinfo.txt
 
# Builds
*.apk
 
build_info.txt
Assets/StreamingAssets/build_info
Assets/PlayMaker/Editor/Resources/EditorStartupPrefs.asset
Assets/StreamingAssets/build_info.meta
Assets/PlayMaker/Editor/Resources/EditorStartupPrefs.asset.meta

 


 

 

파일 출처:

https://gall.dcinside.com/mgallery/board/view/?id=game_dev&no=66985 

 

 

문제

알파벳 소문자로만 이루어진 단어 S가 주어진다.

각각의 알파벳에 대해서,
단어에 포함되어 있는 경우에는 처음 등장하는 위치를,
포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성한다.

 

 

입력

첫째 줄에 단어 S가 주어진다.
단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다.

 

출력

각각의 알파벳에 대해서
a가 처음 등장하는 위치, b가 처음 등장하는 위치,
z가 처음 등장하는 위치를 공백으로 구분해서 출력한다.

만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다.
단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다.

 

 

예제

 

 

문제풀이(JAVA)

import java.util.Scanner;

public class Main {
    public static void main(String args[]){
	 Scanner sc = new Scanner(System.in);
     
     String s = sc.next();
     int alpha[] = new int[26]; // 비교할 알파벳 배열
     int print[] = new int[26]; // 출력할 배열
     
     for(int i = 0; i < 26; i++){
         alpha[i] = i+97; // 1-1 알파벳 초기화 
         print[i] = -1;   // 2-1 -1로 초기화
     }
     
     for(int i =0; i < s.length(); i++){
         for(int j = 0; j < 26; j++){
             if((char)alpha[j] == s.charAt(i)){ // 1-2
                if(print[j] == -1) { // 2-2
                	print[j] = i;	
                }
                // System.out.println((char)alpha[j] + " : " + j); // 결과확인 도와주는 출력문
                 break;
             }
         }
     }
     
     for(int i = 0; i < 26; i++) {
    	 System.out.print(print[i] + " ");
     }
    }
}
더보기

< 추가 설명 >

 

1-1 alpha[i] = i+97;

아스키코드로 int형 배열인 alpha에 넣는다. ( 소문자 a의 아스키코드 : 97 )

ex) i가 0일 때, i+97 = 97(=a) / i가 1일 때, i+97 = 98(=b)...

 

1-2  if((char)alpha[j] == s.charAt(i)){ 

입력받은 문자열과 알파벳을 비교할 때, 강제형변환을 사용하여 int형으로 되어 있는 아스키 코드를 char형으로 바꿔 비교한다.

 ex) alpha[j]가 97일 때, (char)alpha[j]는 a로 생각하여 비교한다.

 

2-1 print[i] = -1;

알파벳이 포함되어 있지 않은 경우 -1을 출력하라고 하였음으로 -1로 모두 초기화 해준다.

 

2-2 if(print[j] == -1) 

만약 -1이 아닌 다른 수가 있다면 그 수를 넣지 않고 넘어가기 위한 조건문이다.

예제를 보면 중복되는 문자는 처음나온 위치만 넣어주었다.