프로그래밍 공부를 시작할 때부터 목표였던 ios 개발자로의 초석을 다지기 위해 ios로는 유명한 야곰 아카데미의 코드 스타터 캠프에 신청했다. 커리어 스타트 캠프와는 달리 선착순 50명 마감이었는데, 인원이 차서 신청을 못하게 되는 불상사를 막기 위해 신청이 시작되는 7일 10시가 되자마자 바로 신청을 하였다. 무사히 신청할 수 있었다!

참고로 코드 스타터 캠프는 swiftUI 등을 이용해서 ios 개발을 학습하는 것이 아니라 스위프트 언어 그 자체를 다뤄 기초를 다지는 것이라고 한다. ios 앱 개발 프로젝트를 하고 싶으면 커리어 스타터 캠프를 신청하면 된다.(근데 가격이 비싸다..)


전부터 신청하고 싶었긴 한데 그동안 맥을 살 수 있는 여건이 되지 않아서 미루고 있다가 드디어 맥북 프로를 구하게 되어 신청을 할 수 있었다..! ios 공부는 맥이 있어야 해서 진입장벽이 꽤 있는 거 같다ㅠㅠ (꽤 비싼 가격도 한몫)

 

캠프 시작일은 20일이고 5주간 진행된다. 다른 후기들을 보니 짧은 시간 동안 꽤 성장할 수 있었다고 하니 기대가 된다..! 진짜 열심히 해봐야 겠다!

 

 

하이 스위프트!

 

몇 달 동안 블로그에 글을 업로드하지 않았는데, 그동안 아르바이트도 하고 비전공자인 내가 cs공부 겸 취득해 두면 좋을 거 같아서 정보처리기사 공부를 했다. 7월 16일에 필기시험을 봤는데 다행히도 한 번에 합격하였다. 열심히 공부한 보람이 있었던 거 같다. 합격 후 단기 아르바이트를 조금 하다가 지금은 다시 10월 16일에 있을 실기 시험을 준비 중인데 필기시험을 공부할 때 꼼꼼히 했던 덕분인지 훨씬 수월하게 공부가 되는 거 같다!! 이번에도 한 번에 합격 가즈아~

 

잘했다 나!

 

블로그 포스팅을 너무 안한거 같아 근황 겸 올려본다..

+ 파이썬 라이브러리 공부도 병행하려고 교재도 구매했다.(점프 투 파이썬 라이브러리 예제 편)

유튜브에서 개발자에 대한 영상을 찾아보다가 '코딩알려주는누나'라는 채널에서 'Karel'이라는 스탠퍼드에서 만든 코딩 게임(이라고 해야 하나..)을 소개해주는 영상을 보게 되었는데 이 게임이 자신이 개발자와 맞는지 테스트해볼 수 있는 좋은 방법이라고 해서 솔깃한 마음에 한 번 해보게 되었다.

https://stanford.edu/~cpiech/karel/learn.html

 

Learn to Program

 

stanford.edu

총 12 unit으로 구성되어 있는데 그중 unit 10, 11은 오류가 있어서 그냥 넘어가면 된다.

나는 unit 9까지는 조금 어려운 부분이 있었어도 다 풀긴 했는데 unit 12는 정말 어려워서 구글링의 도움을 받아서 답을 확인했다... 하지만 끝까지 다 풀지 못했다고 해서 좌절할 필요는 없다!

문제를 푸는 과정에서 즐거움과 도전의식, 문제를 해결했을 때의 짜릿한 성취감을 느꼈다면 당신은 이미 개발자가 될 충분한 자질을 갖춘 사람이다.

 

지금부터는 내가 Karel 게임을 하면서 고민이 필요했던 문제들에 대한 나의 답안을 공유해 보겠다.

unit 8-5

unit 8-5이다.

World의 크기가 얼마나 되건 모든 곳에 Beeper를 놓고 Karel의 마지막 위치는 항상 World의 우측 상단에 있어야 한다.

함수로 putBeeperLine을 제공해 줬는데 이 함수는 Karel이 있는 위치에서 앞이 막힐 때까지 Beeper를 놓으면서 전진하는 함수이다. 이 함수를 이용해서 main 함수를 작성하면 되는데 내가 작성한 main 함수는 이렇다.

# unit 8-5
function main() {
   putBeeperLine();
   while(leftIsClear()){
      turnAround();
      while(frontIsClear()){
         move();
      }
      turnRight();
      move();
      while(noBeepersPresent()){
         turnRight();
         putBeeperLine();
      }
   }
}

이 함수는 처음에는 Karel이 putBeeperLine 함수를 수행하고 왼쪽이 막히지 않은 상태면 반 바퀴를 돈 다음 다시 처음 위치로 돌아간다. 그리고 처음 위치에서 위로 한 칸을 올라간 다음 그 줄에 Beeper가 존재하지 않는 한 오른쪽으로 방향을 돌린 다음 putBeeperLine 함수를 수행한다.

 

unit 9-2

unit 9-2이다.

Karel이 전진하다가 Beeper가 있는 곳에 가면 위로 끝까지 Beeper를 놓고 다시 돌아와서 전진해야 한다.

내가 작성한 main함수는 이렇다.

# 9-2
function main() {
   while(frontIsClear()){
      move();
      if(beepersPresent()){
         turnLeft();
         move();
         while(noBeepersPresent()){
            putBeeper();
            if(frontIsClear()){
               move();
            }
            else{
               turnAround();
               while(frontIsClear()){
                  move();
               }
               turnLeft();
            }
         }
      }
   }
}

 

+ Recent posts