우선 Github 먼저 알아보자. 깃헙은 내가 작성한 코드들의 공간이라고 생각하면 된다.

 

내가 작성한 코드를 업로드할 수 있는 공간으로 활용 가능하고, 내 코드를 남들에게 공유할 수 있다.

마찬가지로 다른 사람들의 코드들을 볼 수 있는 공간이기도 하다. 간단하다.

소스 코드 저장 && 코드 버전 관리 && 코드 공유

 

이런 깃헙을 이용하기 위해서는 코드를 업로드해야 한다. 그걸 도와주는게 Git이라고 생각하면 된다.

 

조금 번거롭지만 운영체제에 맞게 따로 설치해줘야 한다.

 

깃헙의 레퍼지토리를 하나 생성해주고 깃과 연결을 해주면 된다.

깃 환경설정과 깃헙 레퍼지토리 생성은 유튜브에 잘 설명되어 있다.

 

자주 사용하는 명령어 기록!!

 

터미널창에

git add .                   ->   git에 현재 폴더내 파일 모두를 지정한다. ( '.' 이 모두를 의미) 업로드가 아닌 지정느낌인듯

git status                  -> 무엇이 수정되었는지 확인한다.

git commit -m "기록할 내용"      -> 지정된 파일들을 기록할 내용과 함께 깃에 업로드

git push origin master    -> 연결된 깃헙 레퍼지토리로 전송

 

 

 

정확하진 않을 수 있지만 내가 현재 이해한 바는 이렇다. 추후에 수정할 내용이 있으면 수정하겠습니다.

 

'Git,Github' 카테고리의 다른 글

Git, Github 협업 프로세스  (0) 2023.12.04
Git LF will be replaced by CRLF 에러 해결법  (0) 2023.11.30
Git 필수 명령어 모음  (2) 2023.11.22

시저 암호 문제

 

 

아스키 코드를 알아야 z 에서 a로 다시 돌아올 수 있을 것 같다.

 

아스키 코드

아스키 코드는 요래 생겼다.

 

A - Z 는 65 부터 90 a -z 는 97 부터 122

 

class Solution {
    fun solution(s: String, n: Int): String {
        var answer = ""
        //[a, B, z] , 4
        s.map {
            if(it == ' '){
                answer += it
            }
            else if(it.isUpperCase()){
                if((it + n).toInt() > 90){
                    answer += (it + n) - 26
                }
                else {
                    answer += it + n
                }
            }
            else {
                if((it + n).toInt() > 122){
                    answer += (it + n) - 26
                }
                else{
                    answer += it + n
                }
            }
        }
        
        return answer
    }
}

 

.map 함수를 사용하여 문자열을 리스트에 담아 원소 하나하나를 다뤄준다. 활용도가 매우 좋은 듯^^

예시를 위해 "abcd" 문자열을  .map으로 ["a", "b", "c", "d"] 이런 형식으로 바꿔줄 수 있다.

 

공백은 그대로 문자열에 넣고 대문자와 소문자를 1차적으로 구별한다. 

a 부터 z 가 순환해야 하기 때문에 아스키값 범위를 넘어가면 다시금 처음으로 돌아오도록 한다.

 

이해를 돕기 위해 예시를 들자면, 만약  X(아스키값->88) 를 4 만큼 밀었을때 아스키 값 90을 초과하므로 초과한 만큼의 값을 얻기위해 X + 4 에서 90을 빼준다. 예시에서는 88 + 4 - 90 이므로 2가 남게 된다. A에서 2만큼 더 밀어줘야하는데 

A는 아스키값으로 65 이므로 2에 64를 더해주면 된다. 이 과정은 동일하게 순환하게 해주는 값 -90+64 이므로 위에서는 간단하게 -26으로 해주었다. 

 

이보다 훨씬 간단한 코드가 있어 공유한다.

 

class Solution {
    fun solution(s: String, n: Int): String =
        s.map {
            when {
                it.isLowerCase() -> 'a' + (it + n - 'a') % 26
                it.isUpperCase() -> 'A' + (it + n - 'A') % 26
                else -> ' '
            }
        }.joinToString("")
}

 

내가 작성한 코드보다 확실히 간결하고 이쁘다,,

 

 

잘못된 내용 있으면 댓글 부탁드립니다.

+ Recent posts