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
no image
[프로그래머스] 약수의 개수와 덧셈 문제풀이
문제 두 정수 left와 right가 매개변수로 주어진다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성한다. 제한 조건 1 ≤ left ≤ right ≤ 1,000 문제풀이(C언어) #include #include #include int solution(int left, int right) { int answer = 0; int cnt; // 수들의 약수의 갯수를 count하는 변수 for(int i = left; i
2022.03.29
no image
어셈블리어 실습
https://msxpen.com/ MSXPen Check out this MSX code! msxpen.com 어셈블리어란? -절차지향언어 -기계어 list: 적은 코드를 줄번호순으로 나열함 print(): 출력 코드 run: 실행 줄번호를 마음대로 설정가능 (ex 10 200 150...) string 배열은 따옴표 안에 넣지 않으면 출력 안됨 https://msxpen.com/ MSXPen Check out this MSX code! msxpen.com
2022.03.23
no image
[프로그래머스] x만큼 간격이 있는 n개의 숫자 문제풀이
문제 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴 제한 조건 x는 -10000000 이상, 10000000 이하인 정수 n은 1000 이하인 자연수 문제풀이(JAVA) class Solution { public long[] solution(int x, int n) { long[] answer = new long[n]; answer[0]=0;// 배열 초기화 long x1 = x; // ** for(int i =0; i < n; i++){ // for문(반복문)을 n번 돌린다 answer[i] = x1*(i+1);// answer배열에 x와 i+1을 곱하여 순서대로 넣는다 } return answer; } } 1. 반복문을 n번 ..
2022.03.21
[Spring/입문/강좌] JPA 및 스프링 데이터 JPA - 스프링 DB 접근 기술
보호되어 있는 글입니다.
2022.02.03

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이 아닌 다른 수가 있다면 그 수를 넣지 않고 넘어가기 위한 조건문이다.

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

문제

두 정수 left와 right가 매개변수로 주어진다. 

left부터 right까지의 모든 수들 중에서, 

약수의 개수가 짝수인 수는 더하고

약수의 개수가 홀수인 수는 뺀 수를 

return 하도록 solution 함수를 완성한다.

 

제한 조건

1 ≤ left ≤ right ≤ 1,000

 

 

문제풀이(C언어)

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

int solution(int left, int right) {
    int answer = 0;
    int cnt; 					// 수들의 약수의 갯수를 count하는 변수
        for(int i = left; i <= right; i++){     // left와 right 사이 수들을 구하기 위한 반복문
            cnt =0; 			     
            for(int j = 1; j <= i; j++){
               if(i%j == 0) cnt++; 		// i에서 j로 나눈 나머지 값이 0이면 cnt증가
            }    
            if(cnt %2 == 0) answer += i; 	// 약수의 갯수(cnt)가 짝수라면 i값 더하기 
            else answer -= i; 			// 홀수라면 i값 빼기
        }        
    return answer;
}

 

https://msxpen.com/

 

MSXPen

Check out this MSX code!

msxpen.com

 

어셈블리어란?

-절차지향언어 

-기계어

 

  • list: 적은 코드를 줄번호순으로 나열함
  • print(): 출력 코드
  • run: 실행
  • 줄번호를 마음대로 설정가능 (ex 10 200 150...)
  • string 배열은 따옴표 안에 넣지 않으면 출력 안됨

 

 

 

 

https://msxpen.com/

 

MSXPen

Check out this MSX code!

msxpen.com

 

문제

함수 solution은 정수 x와 자연수 n을 입력 받아,

x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴

 

제한 조건

x는 -10000000 이상, 10000000 이하인 정수

n은 1000 이하인 자연수

 

 

문제풀이(JAVA)

class Solution {
    public long[] solution(int x, int n) {
        long[] answer = new long[n];
        answer[0]=0;			// 배열 초기화
        long x1 = x; 			// **
        for(int i =0; i < n; i++){ 	// for문(반복문)을 n번 돌린다 
            answer[i] = x1*(i+1);	// answer배열에 x와 i+1을 곱하여 순서대로 넣는다
        }
        
        return answer;
    }
}

1. 반복문을 n번 돌리는 이유는 x부터 시작해 x씩 증가하는 숫자를 n개 저장해야하기 때문입니다. 
2. **표시되어있는 라인을 보면 int를 long으로 바꿉니다.

 

 만약 데이터형을 long으로 바꾸지 않는다면 연산의 값이 int 범위에서 벗어날 때 answer[i]에 엉뚱한 값이 들어가기 때문에 long으로 꼭 바꿔주어야 합니다. 
=> 연산의 값 : x1*(i+1) int 범위 : -2,147,483,648 ~ 2,147,483,647

[Spring/입문/강좌] JPA 및 스프링 데이터 JPA - 스프링 DB 접근 기술

2022. 2. 3. 23:44

This is a protected article. Please enter the password.