이 문제도 시간이 많이 걸렸다.

최근에 느낀 것이지만 문제를 풀 때 이상하게 append와 pop을 많이 사용하는 경향이 있었는데,

왜 그런가 고민해보니 C언어스럽게 나도 모르게 파이썬 코드를 짜고 있었다는 것을 알게 되었다.

스트링이나 숫자들을 모두 리스트에 넣고, 리스트의 인덱스를 사용해서 만드는 방법이 대표적으로 C언어스럽다는 것이다.

이 문제도 결국 그렇게 풀고,

문제 푼 코드의 지저분함을 느끼고 계속 쳐다본 결과 그렇게 된 것 같다.

 

그리고 코드를 볼 때 참고해야할 사항이 몇 가지 있는데...

1. 조건인 constraint를 제대로 읽지 않았다. 알고보니 testcase의 입력값들이 모두 양수로 되어있다는 것이었다. 음수값의 경우도 모두 처리해야하는 줄 알고 if elif else문을 사용했다.

 

2. contraint를 알고 원래 만들었던 코드를 그대로 사용해보았더니 그래도 지저분했다.

 

3. 그래서 파이써닉한 코드를 한 번 만들어보고 "remove()" 함수를 알게 되어 "pop"대신 사용할 수 있게 되었다.

-그동안 pop()을 계속 사용한 이유는 remove()를 제대로 몰랐기 때문.

-pop()은 index값을 넣어야 하고, remove()는 지우고자 하는 숫자/문자를 넣으면 된다.

 

4. 마지막의 코드는 sort()를 사용한 것인데, 가장 간단하고 직관적인 코드이다. 다만, 효율성을 배제하고 생각해야 한다. 시간적인 면에서는 가장 느리다는 특징이 있다.

#constraint 제대로 확인 안하고 음수까지 모두 처리 (77ms)
class Solution:
    def maxProduct(self, nums: List[int]) -> int:
        nums_abs = [abs(ele) for ele in nums] # 절대값으로 바꾼다. O(n)
				nums_abs is ...
				list of abs(ele) for each ele in nums
				dictionary of ...

        top_maxIndex = nums_abs.index(max(nums_abs))
        top_positive_max = nums_abs.pop(top_maxIndex)
        next_maxIndex = nums_abs.index(max(nums_abs))
        next_positive_max = nums_abs.pop(next_maxIndex)


        if nums[top_maxIndex] > 0 and nums[next_maxIndex] > 0:
            return ((top_positive_max-1) * (next_positive_max-1))
        elif nums[top_maxIndex]<0 and nums[next_maxIndex]<0:
            return ((top_positive_max-1) * (next_positive_max-1))
        else:
            if nums[top_maxIndex] < 0:
                nums.pop(next_maxIndex)
                # print("if", nums[top_maxIndex])
                return ((max(nums)-1) * (next_positive_max-1))
            else:
                nums.pop(top_maxIndex)
                # print("else", nums[next_maxIndex])
                # print((max(nums)))
                return ((max(nums)-1) * (top_positive_max-1))



# constraint 제대로 보고 처리하면 다음과 같은 코드 가능(66ms)
class Solution:
    def maxProduct(self, nums: List[int]) -> int:
        top_maxIndex = nums.index(max(nums))
        top_positive_max = nums.pop(top_maxIndex)
        next_maxIndex = nums.index(max(nums))
        next_positive_max = nums.pop(next_maxIndex)
        return ((top_positive_max-1) * (next_positive_max-1))

class Solution:
    def maxProduct(self, nums: List[int]) -> int:
		mx = max(nums)
		nums.remove(mx)

		next_mx = max(nums)
		# nums.remove(next_mx)

		return (mx-1)*(next_mx-1)


# 더 짧고 빠르게 sort()를 활용하여 하면 다음과 같은 코드
# 그런데 sort() 함수가 속도가 많이 느린 것인지 속도 자체는 위의 2개의 코드 중 제일 느리게 나온다 (101ms)
# 효율성을 떠나 가장 파이썬스러운 코드
class Solution:
    def maxProduct(self, nums: List[int]) -> int:
        nums.sort()
        return (nums[-1]-1) * (nums[-2]-1)

 

 

출처: https://leetcode.com/problems/maximum-product-of-two-elements-in-an-array/

 

Maximum Product of Two Elements in an Array - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

 

해당 문제를 굉장히 헤맸다.

# time limit exceeded 3번
# wrong answer 4번
# runtime error 1번 - leetcode는 print 대신 return사용해야되는데 print 사용함

총 8번을 틀렸는데...

 

wrong answer는 총 3가지의 경우 때문에 나왔다.

(1) len(nums) <= k에서 =를 실수로 넣지 않아서

(2) update_max/k 를 update_max만 리턴해서

(3) 음수를 염두해야하는데 특정 변수의 초기값을 0으로 해놓고 코드에서 제대로 업데이트를 시켜주지 않아서

 

time limit exceeded 3번이 정말로 힘들었다.

계속 여러 번 시도해본 결과 문제는 아마도 sums를 계속 k개의 숫자만큼 계산을 n.length-(k-1)만큼 반복하게 해서 그런듯 하다.

오류의 코드는 다음과 같다.

#Time Limit Exceeded
nums_four_list = []
total = []
if len(nums) == k:
    print(sum(nums)/k)
for i in range(len(nums)-(k-1)):
    nums_four_list = nums[i:i+k]
    total.append(sum(nums_four_list))

print(max(total)/k)
#Time Limit Exceeded
initial_max_total = sum(nums[0:k])
new_max = 0
update_max = 0
if len(nums) < k:
    print(sum(nums)/k)
for i in range(len(nums)-(k-1)):
    # print(update_max)
    new_max = sum(nums[i:i+k])
    if i == 0:
        if new_max >= initial_max_total:
            update_max = new_max
            newmax = 0
    else:
        if new_max > update_max:
            update_max = new_max
            newmax = 0

print(update_max/k)
#Time Limit Exceeded
update_max = sum(nums[0:k])
new_max = -9999999
update_max = -9999999
if len(nums) <= k:
    print(sum(nums)/k)
    
for i in range(len(nums)-(k-1)):
    new_max = sum(nums[i:i+k])
    if new_max > update_max:
        update_max = new_max
    # print(update_max)

# print(update_max/k)
print(update_max/k)

 


 

계속 틀리다가 결국 solution을 보게 되었다.

solution에서 주는 하나의 풀이는 sums의 계산을 단 1번만 초기에 하고,

반복적으로 {

현재값과 다음 index의 값을 더한 후, 이전에 구했던 index들 중 가장 초기값을 빼는 것 ----- (a)

그리고 이렇게 구한 이전의 max값과 (a)의 결과를 max를 통해 구한 후,

이를 best값으로 정한다.

}

© https://leetcode.com/problems/maximum-average-subarray-i/solution/
## solution
best = 0
now = sum(nums[0:k])
best = now
for i in range(k,len(nums)):
    now += nums[i] - nums[i-k]
    best = max(best,now)
print(best/k)

 

확실히 solution을 보니 time limit exceeded가 나온 나의 코드보다 훨씬 계산이 줄어들었다는 것을 깨달았다.

이런 형태를 아마 "sliding window"라고 하는 듯하다.

이런 문제해결 방법은 아예 생각을 하지 못했으니 후회는 없지만,

확실히 아쉽다는 생각이 든다.

 

 

출처: https://leetcode.com/problems/maximum-average-subarray-i/

 

Maximum Average Subarray I - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

1. 구름 K-Digital Training 전액 국비 지원 교육 과정 모집

1-1. AI 기술 자연어 처리 전문가 양성 과정 4기

1-2. 쿠버네티스 전문가 양성과정 4기

기간: 약 4개월
장소: 온라인 실시간 강의 (자연어 처리의 경우 영상강의와 병합)
비용: 11,800,000원 → 0원 (국민내일배움카드 소지자)
교육 시간: 평일 10:00 - 19:00 (공휴일 제외) *총 640시간

https://kdt.goorm.io/

 

구름 K-Digital Training 전액 국비 지원 교육 과정 모집

#국민내일배움카드 #국비지원 #0원 #쿠버네티스 #인공지능

kdt.goorm.io

 

 

2. [서울대 교수진지도] 빅데이터 금융·핀테크 전문가 양성교육 / 고용노동부 K-디지털사업

기간: 약 7개월(이론 및 실습과정 5개월 + 프로젝트 실습 과정 2개월)
장소: 서울대학교 관악캠퍼스
비용: 0원 (국민내일배움카드 소지자)
커리큘럼: AI 및 빅데이터 분야 전문인력 양성을 위한 교육과정
교육 시간: 월~금 활동

https://m.incruit.com/jobdb_info/jobpost.asp?job=2011100000112 

(아래의 모집공고는 2020년이지만, 2021년에도 했으며, 2022년 또한 새로 모집 예정인 듯합니다)

 

서울대학교 AI연구원,[서울대 교수진지도] 빅데이터 금융·핀테크 전문가 양성교육 / 고용노동부

자세한 내용을 보시려면 클릭하세요.

m.incruit.com

 

 

3. Apple Developer Academy @ POSTECH (애플 개발자 아카데미)

기간: 2022년 3월 ~ 12월 (9개월) (2022년 올해가 1기이며, 뉴스로 보건대 2023년에도 모집할 것으로 보입니다)
장소: POSTECH
비용: 0원 (매달 교육지원금 지원)
커리큘럼: 알려져 있지 않음 (코딩 전문 역량, 디자인, 마케팅, 비즈니스 방법론 등을 바탕으로 문제를 접하며 실제로 사회에 적용할 수 있는 방법을 터득한다고 합니다)
교육 시간: 월~금 활동

https://developeracademy.postech.ac.kr/ko/

 

Apple 디벨로퍼 아카데미

iOS 앱개발・디자인・비즈니스

developeracademy.postech.ac.kr

 

 

 

3. 멋쟁이 사자처럼 직장인

기간, 장소, 비용, 커리큘럼: 프로그램별로 상이

커리큘럼 예시: 멋쟁이사자처럼 직장인 온라인 n기, 도커/쿠버네티스 온라인 부트캠프 with 카카오엔터프라이즈, 쏘카 실전 데이터로 배우는 AI 엔지니어 육성 부트캠프

https://classlion.net/

 

멋쟁이사자처럼 :: CLASSLION

HACK YOUR LIFE!

www.classlion.net

 


추가로 2022년도 K-Digital Training 운영 기관 및 과정 안내에 대한 프로그램들은 한국기술교육대학교 직업능력심사평가원 공지사항에서 확인할 수 있습니다.

https://www.ksqa.or.kr/?bbsMode=view&bbsId=BBSMSTR_000000000021&nttId=32781&pid=HP010101 

 

직업능력심사평가원

직업능력심사평가원은 고용노동부 직업능력개발훈련 심사평가 및 품질관리 전문기관입니다.

www.ksqa.or.kr

 

 

 

 

'기타' 카테고리의 다른 글

Is it okay to design without fitting HIG?  (0) 2022.04.19
Challenging without a "team leader"  (0) 2022.04.19
mac에서 atom 완전 제거 방법  (0) 2022.04.05
zsh: no matches found: 오류 해결  (0) 2022.04.05
국내 코딩캠프 정리  (2) 2021.09.20

https://github.com/atom/atom/issues/15687

 

How to uninstall atom in osx · Issue #15687 · atom/atom

Hi, I want to uninstall atom in mac, I installed it from official site https://atom.io/, but I can't find a way to completely remove it, looks like it is a malicious software. I have tried many...

github.com

 

위의 문서를 참고하여 실행을 하면 되는데, 그 코드는 다음과 같다.

rm -rf "/Applications/Atom.app"
rm -rf "/usr/local/bin/atom"
rm -rf "/usr/local/bin/apm"
rm -rf "~/.atom"
rm -rf "~/Library/Application Support/com.github.atom.ShipIt"
rm -rf "~/Library/Application Support/Atom"
rm -rf "~/Library/Caches/com.github.atom"
rm -rf "~/Library/Caches/Atom"
rm -rf "~/Library/Preferences/com.github.atom.plist"
rm -rf "~/Library/Saved Application State/com.github.atom.savedState"

다만, 여기서 2번째와 3번째 줄은 permission denied가 뜰 때가 있다.

rm -rf "/usr/local/bin/atom"
rm -rf "/usr/local/bin/apm"

그래서 도저히 방법을 못 찾다가 내가 찾은 방법은 직접 finder에서 해당 파일을 삭제하는 방법이었다.

(실제로 이 방법이 제대로 mac의 atom찌꺼기를 삭제하는지는 잘 모르겠으나, 일단 엇비슷하게 같은 역할을 하는 것 같긴 하다...)

 

참고로, finder에서 해당 경로로 들어가는 방법은

CMD + SHIFT + G 를 해서 위의 경로 (eg. /usr/local/bin)을 들어간 후,

atom과 apm이라는 이름을 가진 파일을 각각 삭제하는 것이다.


분명 permission denied를 정석적으로 처리하는 방법이 있을 것이라고 생각되지만...

일단 개발환경에 스트레스를 받고 있던 나에게는 한 줄기 빛과 같은 해결법(?)이기에 정리를 해보았다🥲

결론부터 말하자면 폴더명이나 파일명에 "괄호"를 삭제하는 것이다!!!!!


파이썬 공부를 다시 시작하려고 하는데 맥북 프로로 처음 시작하게 되어 다시 모든 개발환경을 다시 설치하게 되었다.

그러면서 그동안 프로그래밍을 공부하면서 단 한 번도 접하지 못한 이놈의 오류 때문에 2~3일 동안 헤맸던 것 같다...

 

zsh: no matches found: 

 

VSCode를 사용해서 파이썬을 run / build시키려고 할 때 발생했던 문제이다.

 

오류가 정확히 뜨는 형태는 다음과 같다.

/usr/local/bin/python3  ../usr/~~~/Desktop/특정폴더명/특정파일명.py
zsh: no matches found:

 

나 같은 경우, f5로 디버깅 하려고 할 때와 extension을 통해 설치한 run code 버튼을 누를 때마다 발생하는 문제였다.

그러면서 또 명령창에

python3 특정파일명.py

로 하면 프로그램이 잘 돌아간다...

 


해당 문제를 해결하는 방법은 너무도 간단하다.

 

위의 오류 코드에 보이는 "특정폴더명"과 "특정파일명"에 괄호가 들어가지 않도록 하는 것이다.

내가 사용했던 폴더명은 "tutoring(code)"였는데,

이를 "tutoring_code"로 바꾸니 아주 잘 실행되기 시작했다... 허허

 

아마 "특정파일명.py"에 괄호가 있었다면,

python3 특정파일명.py

위의 명령어도 제대로 실행되지 않았을 것이라고 추측된다. 

제대로 실행된 화면 예시

학원이나 다른 분들이 어떻게 미국 대학원 석사 지원 과정의 시작을 하는지는 잘 모르겠습니다.

하지만 저의 경우, 스스로를 알아가는 것에서부터 시작하는 것이 중요하다고 생각되었습니다.

그리고 이를 위해 가장 효율적인 방법이 바로 Curriculum Vitae(CV) 혹은 Resume를 작성하는 것이었습니다.

 

참고로, CV와 Resume는 엄연히 말하자면 차이가 있기는 하지만 대학 application을 보면 어차피 CV와 Resume를 대학마다 다르게 사용하는 경우가 있기에 일단은 같은 것이라 생각하고 넘어가셔도 될 것입니다 (다만, 개인적으로 Curriculum Vitae 가 석사에는 더 맞다고 생각하고 앞으로 글에서 CV라고 하도록 하겠습니다).

 


 

1. CV/Resume 형식 샘플 찾는 방법

CV를 인터넷에 검색하면 많은 종류의 샘플 혹은 템플릿(template)들이 존재합니다. 나름의 개성을 나타내고자 하는 템플릿도 존재할 것이고, 이뻐 보이는 템플릿들도 존재합니다. 

하지만 대학에서 원하는 템플릿은 사실 정해져 있다고 생각하시면 됩니다. 

구글에 cv for graduate school 이라고 검색했을 때 수많은 종류의 템플릿들이 나온다

 

제가 추천하는 가장 좋은 방식은 대학교에서 제공하는 CV 샘플들을 보는 것입니다.

대학원에 들어가는 것이 목표인 만큼 당연히 대학교에서 원하는 형태의 CV를 만드는 것이 중요합니다.

그리고 사실 대부분의 대학교는 거의 같은 형태의 CV 샘플들을 가지고 있습니다. 

또한, 교수님들의 CV도 보게 되면 대부분 같은 형식을 가지고 있다는 것을 아실 수 있습니다.

따라서, 2~3개 정도를 다운로드하여서 보게 되면 어떻게 작성해야 하는지 금방 아실 수 있을 것입니다.

개인적인 추천하는 CV는 Harvard University에서 제공하는 Masters Resumer Cover Letter.pdf 파일입니다

(링크: https://cdn-careerservices.fas.harvard.edu/wp-content/uploads/sites/161/2022/03/hes-resume-cover-letter-guide.pdf).

그 외에도 구글에 " stanford masters computer science cv "처럼 " [대학 이름] masters [학과/전공] cv "라고 치면 좋은 예시들이 나오니 대학 측의 cv를 적극 찾아보시고 cv를 만드시는 것을 추천드립니다.

 

또 하나의 매우 좋은 방법은 직접 대학 설명회를 듣는 것입니다.

저는 Penn State University에서 Zoom으로 통해 하는 설명회를 통해서 간단하게 CV에 대해서 설명하는 부분을 보게 되었습니다. 또한, CV를 작성하는 데 있어 좋은 팁들 (eg. 1쪽에 맞춰서 작성하라, 연도는 오른쪽 맞춤으로 하라, 제목은 bold 채로 하라, 서체는 통일되어야 한다 등)을 친절하게 전달해주기 때문에 미처 생각하지 못한 부분들을 보충할 수 있게 됩니다.

설명회를 찾는 방법은 유학박람회, 대학교 홈페이지, 유학원 등의 다양한 방법이 존재하는데, 저는 인스타에서 usembassyseoul(주한 미국 대사관)에서 공고하는 것을 보고 참여했습니다.

(링크: https://www.instagram.com/usembassyseoul/)

 


2. CV/Resume 내용

CV 샘플들을 보면 알겠지만 당연히 내용들이 중요하며, 그 순서 또한 중요합니다.

무엇을 가장 위에 놓을 것이고, 무엇을 아래에 놓을 것인지에 따라 중요도가 나타나게 됩니다.

우선 내용은 다음과 같이 들어가는 것이 좋습니다.

 

(1) Name / Address / Contact no. / Contact email

(2) Objective: 대학원에 들어가고자 하는 목적 간단히

(3) Education: 학력

(4) Relevant Coursework: 지원하는 학과와 관련되어 수강완료한 과목들

(5) Scholarships / Awards: 장학금 / 수상기록

(6) Projects: 프로젝트

(7) Activities / Volunteer: 활동 / 봉사활동 기록

(8) Experience: 경력 (Employment를 사용하기도 합니다)

(9) Skills / Additional Information: 기술(예를 들어, 파이썬언어를 사용한다거나 Git을 사용한다거나) / 추가 내용

(10) Links: 깃허브, 블로그, 개인 홈페이지 등


3. CV/Resume 작성 팁(Tips)

CV를 작성하는데 있어서 몇 가지의 팁들을 적어두고자 합니다.

여기에 적은 팁들은 대학원 설명회에서 알려준 팁들과 작성을 하면서 스스로 정리를 해본 팁들입니다.

  1. 모든 글자체는 같은 글자체로 통일해야 한다. (정해진 글자체가 없지만 개인적으로 Times New Roman을 추천합니다. 글자크기는 약 10-11 정도로 했지만 이 또한 정해진 크기는 없습니다.)
  2. 최대한 1쪽으로 맞추는 것이 CV이지만 2쪽까지도 어느 정도 허용이 될 것 같습니다 (Reddit이나 인터넷을 검색하면 최대한 CV는 1쪽에 모두 들어가야 한다는 이야기가 많습니다. 기업 인턴이나 취업 기관 지원일 때는 확실히 이 부분이 맞다고 생각됩니다. 다만, 저희는 대학원을 지원하고 있습니다. 워드로 작성하면서 페이지 여백을 "좁음"으로 설정했는데도 불구하고 1쪽으로 부족하여 저는 살짝 넘겼지만, 대학원 합격하는 데에 문제는 없었던 것 같습니다!) + 쪽수가 2쪽 이상이 되면 꼭 페이지 수를 추가시키는 것이 좋다고 생각합니다.
  3. 제목, 하위 제목, 본문은 확실하게 나누어야 합니다. 가독성이 중요하기 때문에 구분선을 사용하기도 하고, 제목은 bold체를 사용, 그리고 본문은 list형태로 작성하였습니다.
  4. 모든 항목들의 형식은 통일성을 가져야 합니다. 가령, 3번처럼 했다면, 구분선을 넣거나 제목과 하위 제목은 Bold체, 모든 본문은 list로 한 형식이 모든 항목에서 이루어지는 통일성을 보여야 합니다..
  5. 장학금(scholarship / award 모두) 금액을 적도록 합니다. 사실 이 부분은 의견이 상당히 분분합니다. 어떤 분들은 금액을 적지 말아야 한다, 어떤 분들은 적어야 한다, 어떤 분들은 상관없다고 합니다. 다만, 제가 상담드렸던 대부분 교수님들께서는 금액을 반드시 적으라고 하셨습니다. 또한, 미국대학원 교수님들의 CV를 보게 되면 이분들 또한 많은 분들께서 금액을 적기도 합니다. 미국은 철저한 자본주의로 돌아가는 국가입니다. 금액은 어떻게 보면 그 사람에 대해서 가치를 조금 엿볼 수 있는 방법 중 하나가 아닌가라는 생각이 살짝 들었습니다. 저의 경우 학부생활을 하면서 받은 장학금이 어느 정도 되었기에 모두 적었습니다. 또한, award도 금액이 얼마 되지 않았지만 저는 일단 적었습니다!
  6. 시간순으로 모든 활동을 작성합니다. 이 또한 중요한 사항이라고 생각되며 대학원 설명회 때 알게 된 내용입니다. 이때, 시간순은 반드시 최근 활동이 가장 위 --> 가장 과거 활동이 가장 아래로 작성합니다. 이는 Education, Scholarhips/Awards, Projects, Activities/Volunteer 등 모든 항목에 해당되는 부분입니다.
  7. 날짜를 반드시 월/연도를 적어야 합니다. 예를 들어, education에서 Oxford University를 2022년 2월에 졸업했다면 Oxford University 옆에 February 2022를 적도록 합니다. 혹은 어떠한 활동이 ~~ 까지 이어질 예정이라면 Expected February 2022의 형태로 작성합니다. 이때, 반드시 월/연도를 적는 형식 또한 모두 통일성을 가지도록 합니다. 
  8. 오탈자가 없도록 반드시 여러 번 확인합니다. 오탈자는 어떻게 보면 지원자가 얼마나 정성을 들였는가를 보여주며, 이는 곧 얼마나 간절한 것인지 보여주게 됩니다 (이는 대학원 설명회에서도 나온 말입니다). 여러 번 CV를 수정하게 되면 오탈자가 나오는 것이 어쩌면 당연하겠지만, 그 오탈자가 나오지 않도록 하는 것이 매우 중요합니다! 가능하다면 처음부터 일일이 소리 내어 읽어보면서 확인 작업을 하는 것을 추천드립니다. MS Word로 작성을 하더라도 가끔 잡지 못하는 비문이나 오류들이 나타날 수 있기 때문입니다. (참고로 비문의 경우 Grammarly를 사용하는 것을 추천드립니다. 무료 버전도 있지만, CV와 SOP 등을 작업하는 대학원 지원기간만이라도 유료버전을 강력히 추천드리는 바입니다.)

일단 이 정도의 팁들만 있다면 CV를 작성하는 데 있어 큰 문제가 생기지는 않을 것이라 생각됩니다.

 


4. Notion을 활용한 CV/Resume 작성하기

조금 추가적인 이야기를 하고 싶은 것이 바로 Notion을 활용하는 방법입니다.

우선 가장 CV를 하면서 어려운 상황은 제대로 나를 알지 못해서 어떻게 써야 하는지 모르는 것입니다.

그래서 스스로 어떤 일들을 했는지 정리가 필요한 단계가 저는 반드시 필요하다고 생각합니다. 그리고 이를 위해 Notion이 큰 도움이 된다고 생각됩니다.

 

Notion을 통해 많은 사람들은 이미 자신의 포트폴리오를 작성하고 있습니다. 따라서, Notion을 검색하다 보면 이미 많은 포트폴리오 템플릿들이 존재합니다. 혹은 다른 사람들의 포트폴리오로 들어가서 복사/붙여 넣기를 통해서 해당 템플릿을 사용할 수도 있습니다.

그래서 CV에 들어가야 할 항목들을 중심으로 notion에 미리 한 번 작성해보는 것을 추천합니다.

Notion에 작성할 때는 중요도 순은 전혀 상관없으며 형식 또한 상관이 없습니다. 내가 보기 편리하면 됩니다 (하지만 막상 작성을 하다 보면 왠지 미래에 포트폴리오로 제출하는 순간이 올 것 같아 조금은 이쁘게 꾸미게 되더군요 ㅎㅎ).

이렇게 중요도와 CV에 들어갈 내용을 생각하지 않고 "나"에 대해서 정리를 하면서 작성을 하고 난 후, CV에 내용을 추리면서 추가시키면 CV 작성이 훨씬 수월해집니다!

 

CV는 어차피 여러 번 수정하게 되어있습니다.

대학원 Application을 작성하는 순간에도 문득 CV에 대한 생각이 나서 다시 보고 수정을 하기도 합니다.

SOP를 작성하면서 수정하는 것은 당연한 사실이 됩니다.

저 또한 형식을 바꾸는 작업만 10번, 세세한 오류 수정 작업만 10번 넘게 했던 것 같습니다.


CV는 스스로를 알아가는 작업이라고 생각하시면 더욱 의미 있게 작성할 수 있을 것이라고 생각합니다.

또한, 그러면서 부족한 부분을 점차 알게 되는 과정입니다.

추후에 SOP를 작성하는 데 있어 CV만큼 좋은 자료가 없습니다.

그러니 막막하더라도 차분히 CV 작업에 공을 들이는 것을 추천드립니다.

 

CV는 그 특성상 개인마다 차이가 있을 수밖에 없습니다. 자신감을 가지는 것이 중요하다고 생각됩니다.

정해진 큰 틀에서 벗어나지만 않는다면 자신을 마음껏 소개하는 것이 중요합니다.

두려워하지 말고 일단 자신이 지원하는 학과와 비슷하다고 느껴지면 일단 쓰는 것을 추천합니다.

판단하는 것은 대학측입니다.

Swift를 공부하는데 계속 ios 앱을 만드는 형식으로만 파일이 만들어져서 한참을 헤매다가 결국 방법을 찾아냈다.

이상하게 인터넷을 찾아도 계속 ios로 가서 app을 누르는 방법 밖에 안보여서 시작조차 하지 못하고 있었다.

 

내가 원하는 건 마치 C 를 공부하는 것처럼 print("Hello World")를 입력하고 빌드시키면 print hello가 콘솔창에 뜨도록 하는 것이었다.

너무 고생해서 혹시나 처음 Swift를 접하는 분들께 도움이 될까하여 이렇게 작성을 한다.

(추가로, 미래에 혹시 잊어먹을 나를 위해서도 남겨놓는 글이다 😅 )

 


방법은 다음과 같다

1. Xcode 를 실행시킨다. 그럼 다음과 같은 창이 뜬다.

2. macOS 탭을 선택하여 "Command Line Tool"을 선택한다. 선택하고 나면 다음과 같은 창이 뜬다.

3. 이름을 고른 후 langauge는 Swift로 남겨둔 채로 Next를 누르면 다음과 같은 창이 뜨며, create를 원하는 경로에 시키면 된다.

4. 그럼 다음과 같은 창이 뜨면, 이제 원하는 코드를 작성하여 왼쪽 위에 있는 오른쪽 화살표(▶) 버튼을 누르면 빌드하게 된다.

SwiftUI의 사용을 막 시작하게 된 입장에서 공부하는 과정을 정리 및 공유하고자 이렇게 글을 시작했다.

Swift라는 macOS의 언어를 보다 편리하게 사용하기 위한 인터페이스를 제공하는 것이 SwiftUI라고 이해하면 될 듯하다.

그리고 이를 사용하기 위한 입문은 공식 홈페이지의 튜토리얼 페이지를 먼저 보는 것으로 시작하면 된다고 생각되어 오늘은 해당 사이트에 대해 알아보고자 한다.


https://developer.apple.com/tutorials/swiftui

 

Apple Developer Documentation

 

developer.apple.com

 

SwiftUI Tutorials

 

영상이 나오는 튜토리얼이라기보다는 아래의 사진과 같이 단계별(step-by-step)로 따라 할 수 있도록 만들어져 있다.

SwiftUI Tutorials: step-by-step process

 

또한, 아래와 같이 강의마다 얼마나 시간이 걸리는지 예측 시간과, 프로젝트 파일 또한 제공을 하고 있기 때문에 공부를 하는 입장에서 계획을 세우고 튜토리얼을 따라하기 편리하다는 장점을 가진다.

 

아직은 많이 공부를 하지 못한 상태라 이정도로 간단하게 정리를 마친다.

본격적으로 미국 대학원 석사 지원 과정을 정리하는 것에 앞서 먼저 작성하고 싶은 부분이 있습니다.

이는 제가 미래에 다시 글을 읽을 때를 위함이기도 하지만, 

미국 대학원 석사를 너무나 가고 싶지만 자신감이 없어 두려워하고 있는 사람들에게도 전하고 싶은 말이기도 합니다.

 

본격적으로 미국 대학원을 쓰고자 하기 마음먹었던 것이 2021년 10월이었다고 Prelude에서 언급을 했습니다.

하지만 저는 겁이 상당히 많은 편이며, 복수전공인 컴퓨터학부로 석사를 지원하는 것에 대해서 많은 의구심과 두려움에 휩싸였었습니다.

과연 받아주는 곳이 있기는 할까?

시간을 허비하고 있는 것이 아닐까?

내가 과연 좋아하는 것이 맞는 걸까? 

 

유학이라는 것이 모든 사람이 알듯이 많은 요소들을 고려해야 하므로, 복수전공으로 미국 대학원에 쓰기 위해서 저는 많은 고민을 해야 했습니다.

이 고민을 조금이나마 해결을 하고 비로소 본격적으로 대학원을 급하게 준비하고 지원하게 된 방법을 조금 정리해보고자 합니다.

 


가장 먼저 한 것은 학원에 연락하는 것이었습니다.

저는 주변에 대학원 유학을 생각하는 사람이 전혀 없었기 때문에 모든 것을 인터넷으로 검색을 함으로써 찾아봤습니다.

그렇게 해서 알게 된 곳의 몇몇 유학원에 전화를 하여 무료상담 정도로 학원의 입장에서의 저의 상황을 파악하고, 어떤 방식으로 대학원 준비가 보통 이루어지는 지에 대해서 큰 그림을 그렸습니다.

여기서 주의할 것은 학원의 이야기가 모두 옳다는 것이 아니라는 점입니다.

이때까지만 해도 저는 학원의 모든 이야기가 진실이라고 믿었고, 이로 인해 멘탈은 이리저리 흔들리기 시작했습니다.

그러다가 두 번째 방법을 선택하게 됩니다.

 

 


학원에서 큰 그림을 그리고 멘탈이 흔들리면서 찾게 된 분들이 바로 교수님들이었습니다.

복수전공이기에 교수님들이 만나주실까?라는 생각을 많이 가졌었습니다.

그렇기에 교수님들께 상담문의 메일을 보낼 때도 메일 하나당 1시간 이상의 고민이 들어갔던 것 같습니다.

이러한 노력 덕분인지 다행히도 모든 교수님들께서 흔쾌히 상담을 해주셨고, 이로 인해 자신감을 많이 가지게 되었습니다.

여기서 포인트인 것은 교수님들과 상담을 위해서 스스로의 진로, 관심 영역, 현재 상태, 원하는 대학, 간단한 CV 작성 등에 대해서 많은 부분을 준비한 것이 큰 도움이 되었다는 점입니다. 대학원을 지원하지 않겠다는 결론이 나온다고 해도 결국 "나"를 알아가는 데 있어 큰 도움이 될 것이라는 생각으로 준비를 하는 것이 저는 중요하다고 생각했기에 이렇게 준비를 한 후에 교수님들을 뵈었습니다.

이러한 일련의 과정과 교수님의 상담 끝에 저는 비로소 한 번 도전을 해보자라는 생각을 가지게 되었습니다.

 


그리고 마지막으로 저의 경우에는 저와 가까운 사람들과 이야기를 나누는 것이 큰 힘이 되었습니다.

가족이나 친구. 그 누구라도 좋다고 생각합니다.

자신의 고민과 두려움을 스스로 간직해서 화가 되지 않는 것이 중요하다고 생각합니다.

이러한 두려움 또한 이겨내는 것으로 비로소 도전을 할 수 있는 마음을 갖출 수 있는 것이라고 생각합니다.

 


 

서론이 길었습니다.

이 글은 단순히 다른 사람을 위한 글이라기보다 스스로를 위한 글이라는 생각으로도 적었기에 더 길어졌던 것 같습니다.

다음 글부터는 본격적으로 미국 대학원 석사 지원을 위한 요소들에 대해서 정리해보도록 하겠습니다.

저에게 있어서 미국 대학원은 새로운 여정의 시작과 같습니다.

 

어떤 분들은 어리석다고 볼 수 있을 겁니다. 대학원은 시작이 아니라 그동안 해온 공부를 본격적으로 하는 단계라고 말이죠.

하지만 저에게 있어서 새로운 시작이라는 것은 변함없는 사실입니다.

 

대학교에서 저는 인문대 학부생이었습니다.

컴퓨터학부는 복수전공이었습니다.

그리고 컴퓨터학부는 코로나 시기와 겹쳐 비대면으로 하게 되면서 컴퓨터 학부생들과 협업을 하고 네트워크를 만들 수 있는 기회 또한 많이 놓쳤다고 생각됩니다.

그래서 항상 아쉬움을 느낍니다.

컴퓨터를 더 잘하고 싶었고, 복수전공이지만 시간을 들여서라도 4년 동안 공부를 한 학생들 사이에 설 수 있는 실력을 가지고 싶었습니다.

그래서 결정하게 된 것이 대학원이었습니다.

조금 더 시간을 투자하여 내가 생각하는 나의 비전을 위해 컴퓨터를 더 깊이 공부하고 연구하자는 마음으로 선택한 대학원이었습니다.

그리고 더 넓고 다양한 세상을 눈에 담고자 선택한 것이 미국 대학원이었습니다.

 

2021년 여름방학 때부터 본격적으로 생각을 시작하였고,

2021년 10월말이 되어서야 본격적으로 마음을 잡고 준비를 하게 되었습니다.

 

영어시험부터 CV, SOP, 대학원 선정 등 많은 고민이 있었고, 그 과정은 저에게 있어서 만큼은 매우 어려운 과정이었다고 생각합니다.

그렇기에 기록을 남기고자,

그리고 저와 같은 고민이나 어려움을 겪고 계신분들이 행여 이 글을 보게 된다면 도움이 되었으면 하는 바람에 이렇게 블로그에 글을 남기고자 마음을 먹었습니다.

(특히, 저는 미국의 여러 대학원에 합격을 할 수 있었기에 이 글이 미래의 저에게, 그리고 행여나 이 글을 보실 분들에게 도움이 조금이나마 되기를 생각하면서 적게 되었습니다.)

 

앞으로 몇 번에 거쳐 차분히 저의 경험에 입각한 글을 쓰고자 합니다.

 

아직 확실하게 목차를 정한 것은 아니지만, 아래와 같은 순서로 정리할 것으로 생각됩니다.

 

[목차]

0. 석사 지원 두려움 이겨내기

 

[미국 대학원 석사 지원 과정] 석사 지원 두려움 이겨내기

본격적으로 미국 대학원 석사 지원 과정을 정리하는 것에 앞서 먼저 작성하고 싶은 부분이 있습니다. 이는 제가 미래에 다시 글을 읽을 때를 위함이기도 하지만, 미국 대학원 석사를 너무나 가

gettingtoknowit.tistory.com

1. CV/Resume 작성법

 

[미국 대학원 석사 지원 과정] 1. CV / Resume 작성법

학원이나 다른 분들이 어떻게 미국 대학원 석사 지원 과정의 시작을 하는지는 잘 모르겠습니다. 하지만 저의 경우, 스스로를 알아가는 것에서부터 시작하는 것이 중요하다고 생각되었습니다.

gettingtoknowit.tistory.com

2. Portfolio (notion) - optional

 

[미국 대학원 석사 지원 과정] 2. Portfolio (notion) - optional

포트폴리오에 대한 이야기는 CV 작성을 하는 과정에서 사용하는 것으로 나름 자세하게 적었습니다. 링크는 아래의 링크로 가서 4. Notion을 활용한 CV/Resume 작성하기을 보면 됩니다. https://gettingtokno

gettingtoknowit.tistory.com

3. 추천서 (LOR = Letter of Recommendation)

 

[미국 대학원 석사 지원 과정] 3. 추천서 (LOR = Letter of Recommendation)

대학원을 위해서 필수로 준비해야 할 것이 바로 추천서입니다. 추천서의 경우, 교수님 뿐만 아니라 만약 일을 하고 있다면 상사분께 부탁을 드릴 수도 있습니다만, 제가 알기로는 필수 조건은

gettingtoknowit.tistory.com

4. GPA & 5. 영어시험 (IELTS / TOEFL)

https://gettingtoknowit.tistory.com/172

 

GPA & 영어시험(IELTS / TOEFL)

너무 늦은 글이긴 하나, 이와 관련한 정보를 여쭤보는 문들이 간혹 계셔서 한 번 정리를 빠르게 해보고자 합니다. 4. GPA 우선 GPA에 관해서입니다만, 저는 학부의 경우 학부 GPA가 좋았습니다. 예전

gettingtoknowit.tistory.com

6. GRE - Covid-19에 의한 변화

7. SOP (Statement of Purpose)

8. PHS (Personal History Statement)

9. 대학교 찾기

10. 원서 (Applying)

+ Recent posts