728x90
반응형
SMALL
def solution(n):
    
    answer = [[0]*n for i in range(n)]
    
    
    x, y = 0, 0
    move_state = 0#right==0, down = 1, left=2, up=3 
    
    for i in range(1,(n*n)+1):
        answer[y][x] = i
        
        if move_state == 0: x+=1
        elif move_state == 1: y+=1
        elif move_state == 2: x-=1
        elif move_state == 3: y-=1
        
        if (move_state==0 and (x+1 >= n or  answer[y][x+1]!=0)) or (move_state==1 and (y+1 >= n or  answer[y+1][x]!=0)) or (move_state==2 and (x-1 < 0 or  answer[y][x-1]!=0)) or (move_state==3 and (y-1 < 0 or  answer[y-1][x]!=0)):
            move_state =(move_state+1)%4
            
            
        
    return answer
728x90
반응형
LIST

'IT > 코딩테스트' 카테고리의 다른 글

프로그래머스 모의고사 문제 답 코딩  (1) 2024.05.14
프로그래머스 폰켓몬 설명 풀이 코드 답 코딩  (0) 2024.05.14
특이한정렬  (0) 2024.05.08
소인수분해  (0) 2024.05.07
안전지대  (0) 2024.05.04
728x90
반응형
SMALL

enumerate

 - 순회 가능한(iterable) 객체(예: 리스트, 튜플, 문자열)를 입력으로 받아 인덱스와 해당 요소를 순회할 수 있는 이터레이터(iterator)를 반환

 - 반복문에서 현재 요소의 인덱스를 함께 사용하고자 할 때 유용함

 

enumerate 예제

 

animals = ['cat', 'dog', 'rabbit']

for index, animal in enumerate(animals):
    print("Index:", index, "Animal:", animal)

 

출력 결과

 

Index: 0, Animal: cat
Index: 1, Animal: dog
Index: 2, Animal: rabbit

 

위의 예제에서 enumerate() 함수는 리스트 animals의 각 요소와 해당 인덱스를 함께 반환합니다.

728x90
반응형
LIST
728x90
반응형
SMALL

get there: (목적지)에 도착하다, (목표)를 달성하다.

- 일반적으로 어떤 과정을 통해 원하는 결과를 얻거나 목표를 달성하는 것을 의미합니다.

예제:
1. "I'm working hard to improve my skills, and I know I'll get there eventually."
   - "나는 내 실력을 향상시키기 위해 열심히 노력하고 있고, 결국에는 목표를 달성할 것이라고 확신합니다."

2. "It's a challenging project, but if we work together, we'll get there."
   - "이 프로젝트는 어려운 과제지만, 함께 노력한다면 우리는 목표를 달성할 수 있을 것입니다."

3. "She had to overcome many obstacles, but she finally got there and achieved her dream."
   - "그녀는 많은 어려움을 극복해야 했지만, 결국에는 목표를 달성하고 꿈을 이루었습니다."


728x90
반응형
LIST

'영어' 카테고리의 다른 글

trip, travel tour, journey 차이  (0) 2024.05.09
kind of ~  (0) 2024.05.08
receive, get 차이  (0) 2023.09.02
even though 와 even if 차이  (1) 2023.08.22
It's been ~ 시간이 흘렀다. 는 표현  (0) 2022.06.28
728x90
반응형
SMALL

아래 작성된 등록소(Registry) 는 한국에 주민 센터와 비슷한 곳 임.
 
 
1. 국제운전면허증->캐나다(알버타) 운전면허증 변경에 필요한 서류(등록소에서 신청가능)
- 운전면허증명서(영문, 민원24에서 발행가능)
- 한국운전면허증
- 국제운전면허증(발행: 가까운 경찰서)
- 비자서류(이민국에서 발급 받은 종이)
- 여권
- 캐나다 주소확인 서류(전기료, 집보험, 휴대폰 고지서등 캐나다 집 주소에 살고 있다는 확인이 가능한 서류)
* 추가사항: 변경시 한국운전면허증과 국제운전면허증을 회수함
(약 2~3주 후에 면허증이 주소지로 발송될것이라 설명한 듯 함..;;;;)
(시간오래 걸림, 본인, 와이프 하는데 약 1.5시간 소요됨 ;;;;;)
* 종이로된 임시운전면허증 발급
 
2. 자동차보험(Allstate 보험가입)(한국운전경력을 인정해주기 때문에 경력증명하면 할인 됨)
- 캐나다운정면허증(또는 캐나다임시운전명허증)(국제운전면허증도 가능하나 보험료 비싸짐)
- bill of sale(판매증서, 자동차 판매와함께 작성하면 됨)
- 운전면허증명서(영문, 민원24에서 발행가능, 운전경력확인용-보험료 할인을 위해 꼭 필요함)
- 무사고증명서(영문, 보험료 할인을 위해 꼭 필요함, 한국보험사에 요청하면 보내줌)
* 추가사항: 보험매니저분께서 Allstate만 한국운전경력을 인정해준다고 함(사실확인 필요함)
 
 
3. 자동차등록 필요서류(등록소에서 신청가능)
- bill of sale(판매증서, 주에서 발행된 양식으로 작성).
- 자동차보험증서(VIN 번호, 기간, 자동차모델등의 정보가 있는 보험사에서 보내준 서류, 종이로 가져갈 필요는 없음(스마트폰 화면으로 보여주기만 해도 됨), 보험가입여부 확인만 함)
- 여권
- 캐나다운정면허증(또는 캐나다임시운전명허증)
* 추가사항: 자동차등록은 보험실행일(보험가입다음날0시01분)부터 가능하기 때문에 하루에 보험가입 및 자동차등록(다음날 다시 등록소에서 신청)이 불가능함

728x90
반응형
LIST
728x90
반응형
SMALL

다음 내용은 캘거리에서 제 경험을 바탕으로 해야될 일들을 순서로 작성되었으며, 참고만 하시기 바랍니다.

 

입국 전 한국에서 필요한 서류는 아래 링크에서 확인하기 바랍니다.

(https://ckang.tistory.com/25)

 

집 렌트하기

   - 가장 먼저 해야되는 부분이다. 특히 자녀를 캐나다 무상교육을 하루 빨리 받게 하기 위해서는 캐나다 내에서 주소는 필수다. 한국에서 미리 계약을 해서 입국후 바로 거주하면 좋겠지만 그것이 아니면 최대한 빨리 구하는 것이 나머지 해야될 일들??을 빠르게 처리할 수 있다. (저는 입국전 한국에서 미리 렌트를 하였으며, 입국 후 바로 렌트 집에 거주 하였습니다.)

  렌트집들은 아래 사이트에서 확인이 가능합니다.

https://www.rentfaster.ca/ab/calgary/

 

**  렌트집 찾기 순서 **

   (1) 자신이 살고자 하는 동네 후보지를 먼저 선정합니다. 특히 저학년 자녀 학교를 생각하는 부모들은 각 지역에 대한 사전 조사 후 선정을 합니다. 여러 유튜브 및 블로그를 보시면 선호지역과 분위기를 알 수 있습니다.

 

   (2) rentfaster 사이트에 렌탈 신청서 작성 항목이 있습니다. 자신에 대해서 작성하는 내용으로 그곳에서 지낼 가족수, 나이, 기간 등을 작성하면 됩니다. 이걸 왜 작성해야 되냐면 ;;; 한국과 다르게 여기에는 여러사람의 신청서를 받아서 그중에서 선정하는 방식입니다. 제가 왔던 시기와 다르게 지금은 렌탈 집이 거의 없는 상황이라 매우 경쟁이 치열한 상황이라고 합니다. 최대한 자신이 집 을 잘 쓴다는 내용이 좀 어필이 되어야 될 듯합니다.

저는 소개서에 아래와 같이 작성하였습니다. 나의 직접, 여기에 온 목적, 지낼 가족들에 대해서 작성함

I am 이름, working at 직장. I will soon visit 캘거리방문기관 as a 방문목적 and be there for 기간. My family consists of 가족수. So, I am looking for a rental house to stay with my family. My xxxx is xx years old(자녀 성별 및 나이).

신청서 작성시 중요한 점은 신분이 확신한 사람이라는 것이 중요합니다. 이유는 집주인 입장에서 월세를 절대 안 미루고 잘 낼 수 있는 사람을 찾고 싶어하기 때문입니다.

신청서 작성 화면

 

   (3) 다음으로 선정된 후보지역 내에 적당한 집 가격, 학교와의 거리, 방 수 등을 확인합니다.

         이때 한국과 차이점은 아파트나 콘도 등은 렌트비에 전기, 수도, 가스 등의 비용이 포함되어 있는 경우가 많으니 이 부분을 감안하여 가격을 확인하기 바랍니다. 저도 아파트에 사는데 전기료만 제가 지불하고 나머지는 포함입니다.

     (예:  Utilities Included: Heat  Water (난방비와 물비용이 포함되어 있다는 말입니다.))

 

   (4) 집주인에게 메시지 보내기.

   먼저 말씀 드리는 것은 정말 아니다 라고 생각하는 집아니면 무조건 렌탈 요청 메시지를 보내야 합니다. 처음에 어떻게 메시지를 보내야 되나 많이 망설여 지는데..(저도 역시 그랬습니다.^^;;특히 영어라..). 메시지를 보내도 응답이 없을 경우도 많고 여러 신청자중에 경쟁후 집주인 선택 방법이기 때문에 자신이 선택될 확률이 적을 수 있습니다. 그래서 일단 다 보내고 응답이 오는 순으로 대응을 하기 바랍니다.

메시지 보내는 방법은 집을 선택하면 아래와 같은 창이 나타나는데 오른 편 아래에 메시지 보내는 창이 있습니다.

(이때 send my rental application 을 체크하기 바랍니다.)

집 렌탈 신청 창

제가 작성한 포맷은 다음과 같습니다.(메시지를 보내면 집주인은 미리 작성된 렌탈 신청서도 볼 수 있습니다.)

Hello, I am looking for a house to stay for a year. When I see the pictures of your rental house, the house is very clean and nice. And I think the location of the house is so perfect for my family. You can see the information about me in Rental Application. Please email me if I can see the house. We sincerely hope to stay in your rental house in Calgary.

 

(5) 주고 받은 메시지 확인하기: 아래 화면과 같이 오른쪽 위에 보시면 Inbox 라는 메뉴가 있는데 메뉴를 클릭하면 메시지 확인 창을 볼 수 있습니다. 

메시지 확인 메뉴

 

아래는 제가 신청한 렌탈 집입니다. 아래와 같이 10개 넘게 보냈는데, 반 정도만 메시지가 왔습니다. 

주고 받은 메시지 확인 창

(6) 집주인이 신청자가 마음에 듣다고 생각하면 신분확인 및 월세를 잘 낼 수 있다는 즉 수입 증명 위한 서류를 요청합니다(이건 집주인 마다 다를것 같아요). 저의 경우 재직증명서, 소득증명서도 보내줬습니다. 그리고 나중에는 화상으로 가족 모두 얼굴 확인을 하였습니다. 제가 외국인 신분이고 월세 문제가 발생하지 않기 위해 확인하는 듯 합니다.

 

(7) 모든 확인 절차가 끝나고 렌탈해주기로 확정후 계약서를 작성하였습니다. 계약에서 1달 렌탈비를 우리나라로 치면 보증금? 형식으로 달라고 해서 ok 했습니다. (집주인 생각에 신분이 불안정할 수 록 보증금이 올라갈 듯 합니다.)

다음에 문제가 발생했는데. 집주인이 보증금과 첫달 렌트비를 e-transfer로 돈을 보내달라고 합니다.... 그게 먼가.???

e-transfer에 대해서 간단히 말하면 은행계좌로 등록된 이메일 주소로 돈을 보낼 수 있는 것입니다. 우리나라로 보면 요즘 전화번호만으로 돈을 이체해주는 방법과 유사하다고 보면 됩니다. 근데 문제는 한국에서는 e-transfer가 불가능하다는 것입니다. 그래서 사전에 미리 집주인에게 e-transfer 는 한국에서 불가능하니 보증금+첫달렌트비을 해외 송금으로 하겠다. 말하는 것이 좋을 듯 합니다.

이때 사실 세입자? 입장에서도 부동산?? 이 중개하는 것도 아니니 돈을 미리 보내는 것이 맞는지도 사실 좀 불안합니다. 저의 경우 지인이 미리 집을 보고 그 과정에서 집주인과 몇번 만나서 확신을 가지고 진행을 했는데 이건 개인마다 차이가 있으니 각자의 상황에 맞게 진행하기 바랍니다.

 

 (8) 캐나다(캘거리) 입국후 집주인에게 연락 우버 타고 렌트집으로 갔습니다.

      -  집 확인 후 집이 이상없다는 확인 서명하고 집 키 받았습니다

 

728x90
반응형
LIST
728x90
반응형
SMALL

아래의 내용은 경험을 바탕으로 작성되었으며, 사실확인 필요한 내용들도 있으니 참고만 하기 바랍니다.

 

캐나다에서 은행에서 상담을 받으려면 먼저 예약을 해야합니다.

계좌 개설도 상담을 받아야 되며 약 1시간 정도 시간이 소요됩니다.

 

* 필요서류

- 비자서류(이민국에서 발급 받은 종이(저는 work permit 서류 가져감))

- SIN 넘버(요구했지만 없어도 계좌개설 가능했음)

- 여권

 

 

1. 위 서류되어 있으면 아래 사이트에 가서 상담 예약하기, 자신의 내용에 맞게 선택하면 된다.

   개인 -> 뱅킹 -> 체킹 계좌 열기 -> 아니요 -> 주소 또는 우편번호 입력 -> 지점 선택

(https://ko.td.com/ca/en/personal-banking/book-appointment#/appointment-type)

 

2. 각 지점에 상담예약을 선택하면 아래와 같이 언어 선택 메뉴가 나타난다(지점마다 다름). 한국어 상담이 가능한 지점으로 선택 

3. 한국 계좌와 차이점(직접 가서 상담받으면서 그 차이점을 알 수 있으며 그래서 생각보다 시간이 오래걸려요.^^;;. 아래는 상담받은 내용을 요약한 내용입니다. 참고만 하기 바랍니다.)

   - 한국은 계좌 유지 비용이 없지만 캐나다에는 있다. 그리고 대부분의 캐나다 은행에서 새로 방문한(뉴커머) 사람에게 1년 동안 계좌유지 비용을 면제하는 프로모션을 진행하는 듯하다. 

   - 하나의 계좌에 서로 다른 사람(가족) 명의 체크(debit) 카드를 만들 수 있다.(가족이 함께 있으면 편의를 위해 2개 만드는 것이 좋다)

  - 계좌의 종류가 크게 chequing account, savings account  두개가 있으며, 내가 알기로는  chequing 은 자동이체, 체크 카드 연결을 쓰며, savings 는 우리나라로 치면 자유입출금 적금통장? 같은 느낌이인데 정확하지는 않음. savings 가 정말 약간 예금 이자가 높은 듯함.

 - 현금 프로모션: 이건 그때 그때 다른듯한데 얼마 이상 몇달동안 자동이체, 한번에 얼마이상 이체한 실적이 있고 등 몇 가지 조건을 수행하면 계좌로 현금이 지급되는 프로모션이 있었다. 생각보다 금액이 크니, 꼭 확인하기 바랍니다.

 

728x90
반응형
LIST
728x90
반응형
SMALL

아래 작성된 등록소(Registry) 는 한국에 주민 센터와 비슷한 곳 임.

 

1. 자녀학교 신청(CBE 온라인 신청, pdf 또는 이미지 파일 필요, 약 1주일 후 영어레벨테스트 등록된 이메일로 연락옴)

- 캐나다 주소확인 서류(bank statement, GST rebate, home or renter insurance, income tax statement, mortgage statement, property tax assessment, utility bill)

- 자녀생일확인서류(가족관계증명서 제출)

- 비자서류(본인(work permit) 및 자녀(visitor record))

- 여권(본인 및 자녀)

- 본인 여권 selfie

(To confirm the identity of the person completing this form:

submit a selfie photo holding your government issued photo identification.

the ID must be clear enough to read in your photo.)

 

 

2. TD 은행계좌 개설(온라인 예약후 방문 신청, 1시간 소요됨)

* 하나(본인)의 계좌에 2(본인,와이프) debit(체크)카드 신청이 가능합니다.(편의를 위해 2개 신청)

- 여권

- 비자서류(이민국에서 발급 받은 종이)

- SIN 넘버(요구했지만 없어도 계좌개설 가능했음)

 

 

3. 집 전기 신청(온라인(https://www.enmax.com/) 신청, 한국에서 가스처럼 개인적으로 전기 신청해야 됨)

- 캐나다 계좌 필요함

- 캐나다 전화번호 필요함

 

4. SIN 발행(온라인으로 신청함)

- 비자서류(이민국에서 발급 받은 종이)

- 여권(스캔)

- 캐나다 주소확인 서류(전기료, 집보험, 휴대폰 고지서등 캐나다 집 주소에 살고 있다는 확인이 가능한 서류)

* 추가사항: 발급이 2주정도 걸린다고 함

 

5. 의료보험(Health care) 등록 준비서류(등록소에서 신청가능)

- 여권

- 비자서류(이민국에서 발급 받은 종이)

- 캐나다 주소확인 서류(전기료, 집보험, 휴대폰 고지서등 캐나다 집 주소에 살고 있다는 확인이 가능한 서류)

- 신청서(이건 그냥 등록소가면 양식을 줌)

728x90
반응형
LIST
728x90
반응형
SMALL

1. https://chat.openai.com/ 접속

2. Sign up 클릭

3. Email address 에 자신이 가입하고자 하는 메일 주소 입력(4.1에 설명) 또는 아래에 원하는 Continue with Google, Continue with Microsoft Account, Continue with Apple 중 선택(4.2에 설명)

 

4.1 만약 Email address 에 직접 email을 입력하면 패스워드 설정화면으로 이동됨

4.2 구글, MS, 애플 계정 선택시 각 계정의 로그인 화면으로 넘어감. 원하는 계정 선택

5. 로그인 후 아래에 Send a message에 원하는 질문을 입력

728x90
반응형
LIST
728x90
반응형
SMALL
import speech_recognition as sr
import pyttsx3
import openai

openai.api_key = "openai key"

# Initialize the recognizer
r = sr.Recognizer()

# Initialize the voice engine
voice_engine = pyttsx3.init()

#스피치 목소리 타입 0: K, 1: female, 2: male
voices = voice_engine.getProperty('voices') 
voice_engine.setProperty('voice', voices[0].id)
voice_engine.setProperty('rate', 170)
		

# Function to convert text to speech
def SpeakText(user_text,command):
	
	#음성 파일 저장
	voice_engine.save_to_file(command, '/answer.mp3')

	#TTS 실행
	voice_engine.say(command)

	voice_engine.runAndWait()
	
	

def main():

	# 무한 
	with sr.Microphone() as source:
		r.adjust_for_ambient_noise(source, duration=0.2)

		while True:
	
			try:
				print('listen...')

				#listens for the user's input
				user_audio = r.listen(source)
				
				# Using google to recognize audio
				user_text = r.recognize_google(user_audio)
				user_text = user_text.lower()

				print("Did you say: ",user_text)
			
				completion = openai.ChatCompletion.create(
					model="gpt-3.5-turbo",
					messages=[
					{"role": "user", "content": user_text}
					]
				)

				#chatgpt 결과 출력
				print(completion.choices[0].message.content)

				SpeakText(user_text,completion.choices[0].message.content)

			
			except sr.RequestError as e:
				print("Could not request results; {0}".format(e))
		
			except sr.UnknownValueError:
				print("unknown error occurred")

if __name__ == "__main__":
    main()
728x90
반응형
LIST
728x90
반응형
SMALL

"받다" 는 의미에서 receive 와 get은 같은 뜻을 가지고 있다.

 

하지만 get 은 보내는(주는) 사람이 중요하지 않으며,

receive는 보내는 사람을 명확히 해야한다.

 

Ex)

I got a thank-you note.

I received a thank-you note from my students.

 

728x90
반응형
LIST

'영어' 카테고리의 다른 글

kind of ~  (0) 2024.05.08
get there 뜻 예제  (0) 2024.05.04
even though 와 even if 차이  (1) 2023.08.22
It's been ~ 시간이 흘렀다. 는 표현  (0) 2022.06.28
work out , exercise 차이  (0) 2022.06.27

+ Recent posts