CODING/스파르타 내일배움캠프 TIL

43_시저 암호_기초 프로젝트 트러블슈팅_25.2.14(금)

codingTrip 2025. 2. 14. 21:54

코트카타

45) 시저 암호

나의 풀이

class Solution {
    public String solution(String s, int n) {
        char[] chars = s.toCharArray();
        for (int i = 0; i < chars.length; i++) {
            char c = chars[i];
            if ((c>=65 && c<=90) || (c>=97 && c<=122)){
                if ((c<=90)){
                    c = (c+n>90)? (char) (c+n-26):(char) (c + n);
                }
                
                if ((c>=97)){
                    c = (c+n>122)? (char) (c+n-26):(char) (c + n);
                }

                chars[i] = c;
            }
        }
        return String.valueOf(chars);
    }
}

if문을 계속 쓴 점이 마음에 들지 않았다.

그래서 삼항 연산자를 사용해봤다.

 

다른 분들의 풀이

class Caesar {
    String caesar(String s, int n) {
        String result = "";
    n = n % 26;
    for (int i = 0; i < s.length(); i++) {
      char ch = s.charAt(i);
      if (Character.isLowerCase(ch)) {
        ch = (char) ((ch - 'a' + n) % 26 + 'a');
      } else if (Character.isUpperCase(ch)) {
        ch = (char) ((ch - 'A' + n) % 26 + 'A');
      }
      result += ch;
    }
        return result;
    }

    public static void main(String[] args) {
        Caesar c = new Caesar();
        System.out.println("s는 'a B z', n은 4인 경우: " + c.caesar("a B z", 4));
    }
}

출처 : https://school.programmers.co.kr/learn/courses/30/lessons/12926/solution_groups?language=java


기초 프로젝트 트러블슈팅

 

 

 

mac@macs-MacBook-Pro nbcNewsFeed % git push origin feat/auth remote: Permission to nbcNewsFeed/nbcNewsFeed.git denied to codingTrip-IT. fatal: unable to access 'https://github.com/nbcNewsFeed/nbcNewsFeed.git/': The requested URL returned error: 403

 

git push origin feat/auth 시 403 Forbidden 오류가 발생한 이유는 권한 문제이다.

이 방법을 사용하기 전까지 계속 30분 이상 방법을 팀원들과 찾았다 ㅠㅠ

 

HTTPS 대신 SSH 방식으로 변경

HTTPS 방식(https://)이 아닌 SSH(git@github.com:...)를 사용하면 인증 문제가 줄어든다고 한다.

 

1. 먼저 SSH 키가 있는지 확인하기

ls -al ~/.ssh

 

만약 키가 없다면 새 SSH 키 생성 :

ssh-keygen -t rsa -b 4096 -C "my_email@example.com"

 

SSH 키를 GitHub에 등록

 - cat ~/.ssh/id_rsa.pub 명령어로 공개 키 확인 후

 - GitHub > Settings > SSH and GPG keys 에 추가

 

원격 저장소를 SSH로 변경:

git remote set-url origin git@github.com:nbcNewsFeed/nbcNewsFeed.git

 

변경 사항 확인:

git remote -v

 

다시 푸시:

git push origin feat/auth

 

git branch를 처음 만들어서 해보는데 신고식이었던 것 같다.