Today I Learned

최지웅·2024년 1월 11일
0

Today I Learned

목록 보기
79/238

놀랍게도 아직 과민성 기관지염이 나아지지 않았다..ㅠㅠ 그래도 이정도면 충분히 쉰 듯 해서 방학때의 플랜을 세워 오늘부터 수행해보려한다.

  • 리츠코드
  • 도커 온라인 강의
  • 영어공부
    정도를 해보려고 한다. 금일 세가지를 모두 찾아보고 시작하는 것 까지 목표로 잡아보았다.

오늘 한일

  • jetbrain사 intelliJ ultimate버전 학생라이센스 재발급
  • LeetCode 문제풀이 및 github 업로드
  1. Merge Strings Aleternately는 문자열을 교대로 합치는 문제로 제출한 답안을 아래와 같다.
		StringBuilder stringBuilder=new StringBuilder();
        int i=0, j=0;
        while(i<word1.length() && j<word2.length()){
            stringBuilder.append(word1.charAt(i));
            stringBuilder.append(word2.charAt(j));
            i++;
            j++;
        }
        stringBuilder.append((word1.length()==i)?word2.substring(j):word1.substring(i));
        return stringBuilder.toString();

다른 답안을 확인해보니, 위는 아래와 같이 좀 더 간결하게 작성할 수 있다. 실제 작업수행 시점을 기준으로 while을 돌리기위해 ||을 사용하여 후처리를 없앴고, 해당 부분을 작업 실행 전 조건문을 통해 수행하게 하여 보다 빠른 실행속도를 기대할 수 있다.

        StringBuilder sb = new StringBuilder();
        int n1 = word1.length(), n2 = word2.length();
        int i = 0, j = 0;
        while (i < n1 || j < n2) {
            if (i < n1) sb.append(word1.charAt(i++));
            if (j < n2) sb.append(word2.charAt(j++));
        }

        return sb.toString();
  1. Greatest Common Divisor of String은 문자열 A를 문자열 B로 나누는 문제이다. 이때 문자열 B에도 반복되는 패턴이 있다면 최소단위의 문자를 쪼개야 하는 듯 한데 이 과정에서 어떻게 처리를 해야할지 잘 모르겠다. "ABABAB"를 "ABAB"로 나누어 "AB"가 나오게끔 하는 것인데, 우선 문자열B의 길이가 홀수일때는 배제했다. 짝수일 때 짝수단위 substring으로 처리하면 될 듯하다. 내일 다시 진행해보겠다.
  • 도커 온라인 강의 찾기
    강의를 찾는데에 생각보다 오래걸려서 수강신청과 청강만 해두었다.
    첫번째는 이수증이 나오지 않지만 과정이 탄탄해보이는 KAIST의 '오픈소스를 활용한 DevOps 환경 이해'를 청강신청했고
    두번째는 이수증이 나오는 IGM세계경영연구원의 '클라우드 인프라 아키텍처 양성과정'을 수강신청했다. 이는 AWS가 아닌 MS Azure를 사용하는데 전반적인 클라우드 인프라 설계과정에 대한 지식을 얻을 수 있을것이라 기대해본다.

  • 영어공부
    OPIC IH를 목표로 영어공부를 진행할 예정이며 어떤 방식으로 공부를 진행할 것인지 조금 더 찾아봐야 할 듯 하다.
    https://sohoma.tistory.com/entry/%EC%98%A4%ED%94%BD-OPIc-%EB%8F%85%ED%95%99-IH-%ED%9B%84%EA%B8%B0-%EB%B0%A9%EB%B2%95

profile
이제 3학년..

0개의 댓글