본문 바로가기

Coding

(19)
Playgrounds 코딩 배우기 1 > 알고리즘 > 오른쪽, 왼쪽으로 구르기 Swift Playgrounds 코딩 배우기 1 > 알고리즘 > 오른쪽, 왼쪽으로 구르기 목표 : 보석을 전부 줍고, 스위치를 모두 On상태로 만들 것. 핵심 : 보석은 왼쪽과 앞이 막힌 코너에 있고, 스위치는 오른쪽과 앞이 막힌 코너에 있다는 것을 이용해야 한다. 내 코드_ turnLeft() while !(isBlocked && isBlockedLeft && isBlockedRight) { if isBlockedLeft && isBlocked { turnRight() moveForward() collectGem() turnRight() moveForward() collectGem() } else if isBlockedRight && isBlocked { turnLeft() moveForward() i..
Playgrounds 코딩 배우기 1 > 알고리즘 > 오른손 법칙 Swift Playgrounds 코딩 배우기 1 > 알고리즘 > 오른손 법칙 제시한 의사코드_ navigate around wall { if blocked to the right { move forward } else { turn right move forward } } while not on closed switch { navigate around wall if on gem { collect gem turn around } } toggle switch 내가 작성한 코드_ func navigateAroundWall() { if isBlockedRight { moveForward() } else { turnRight() moveForward() } } func collectOrToggle() { if is..
Playgrounds 코딩 배우기 1 > 조건 코드 > 박스 안에서 Swift Playgrounds 코딩 배우기 1 > 조건 코드 > 박스 안에서 목표 : 둘러싸인 격자의 아이템 처리하기 조건 : 함수, 루프, 조건식을 사용해야 한다. 나는 반시계 방향으로 한바퀴 도는 것을 택했다. 이때 현위치를 제외한 경로에 있는 블록에 순서를 붙이면 1,2,4,6 번 블록에서 turnLeft() 를 사용하게 되는데 이를 반복문을 이용하여 코드를 짤 수 있다. 총 8번의 진행중에서 1,2,4,6은 turnLeft()가 있고 3,5,7,8은 turnLeft()가 없다. 이것을 반복이 가능하도록 다듬으면 첫번째로 방문하는 블록(1)은 반복에서 제외하고, 마지막으로 방문하는 블록(8)은 결과에 영향을 미치지 않지만 turnLeft()를 넣는다. 그럼 2,4,6,8 은 turnLeft()가 ..
Playgrounds 코딩 배우기 1 > 조건 코드 > 스마트하게 함수 정의하기 Swift Playgrounds 코딩 배우기 1 > 조건 코드 > 스마트하게 함수 정의하기 목표 : 함수, 루프, 조건식을 사용하여 보석을 수집하거나 스위치를 작동시켜 보세요. (전부작동/전부수집) 제시된 조건1_ if구문을 많이 사용하여 퍼즐을 해결할 수도 있지만 그보다 나은 방법이 있습니다. 퍼즐을 단순한 패턴으로 먼저 나누어 보세요. 퍼즐에는 경로가 크게 3가지가 있습니다. 각 경로에는 2개의 보석이나 스위치가 존재할 확률이 있습니다. 제시된 조건2_ 1. if 구문을 사용하여 타일의 내용을 확인하는 collectOrToggle() 함수를 정의합니다. 2. 함수를 정의한 다음, collectOrToggle() 및 다른 명령을 호출하여 퍼즐을 해결합니다. 풀이_ 퍼즐을 단순한 패턴으로 먼저 나누어 보..
Swift의 세계로 때는 대학교 4학년 2학기를 앞두고 휴학을 한 시점이었다. 졸업까지 한 학기만을 남겨둔 나는 슬슬 취업 준비를 해야했다. 약 4년간 컴퓨터학과의 과목들을 수강하며 배운 C, Java, JS, Python 등의 언어가 있었다. 무엇을 코딩테스트의 주 언어로 할 것이며, 또 어떤 직군을 선택할 것인가는 졸업을 앞둔 컴퓨터 관련 학과 학생들이라면 한 번 쯤 할 고민이다. 그런데 어쩌지 전부 그냥 그랬다. 무엇하나 내 마음에 쏙 드는 것 없이 비슷비슷했다. 그렇게 극단적인 면이 있는 나는 iOS에 도전해보기로 했다. 지금까지의 것들이 그저 그랬다면 새로운 것을 도전해보고 싶었고, 무엇보다 그럴 수 있는 환경이 내게 있었다. (맥북이 있고,,, 시간이 있고,,,) _ 그런데 스위프트는 어떻게 공부해야하는 것일까...
Python 변수, 자료형 ✔️ 변수 - 프로그래밍에서의 변수 = 수학적 의미인 '변할 수 있는 수'에 '어떠한 값을 저장하는 장소'의 의미가 더해진다. - 메모리 = 변수에 저장되는 값의 물리적 장소. 변수의 저장 위치를 메모리 주소라고 한다. - 할당(assignment) : 변수에 값을 넣는 과정. - print(a + b) : 변수a값과 b값을 더한 값을 출력. print("a + b") : a + b 문자 그대로 출력. - 폰 노이만 아키텍처 (현재 컴퓨터의 기반 구조) : 컴퓨터가 어떤 프로그램을 실행 시키려고 하면 실행하고자 하는 값을 컴퓨터의 메모리에 저장하고 , 저장된 값을 순차적으로 CPU로 불러 계산하는 방식. // 이 때, 메모리는 일반적으로 휘발성인 RAM(Random Access Memory). - 변수명..
데이터 과학을 위한 파이썬 프로그래밍 연습문제 Chap2 ※ 직접 푼 거라 틀릴 수도 있음. (python3 기준으로 쓰여짐) 1. 다음 코드의 실행 결과를 쓰시오. >>> a = 777 >>> b = 777 >>> print(a == b, a is b) ➡︎ True False : == 연산자는 값(value)이 같으면 참, is 연산자는 같은 주소(reference)를 가리켜야 참. b = a일 때 a is b 는 참일 수 있다. 2. 다음 중 변수를 메모리에서 삭제하기 위해 사용하는 명령어는? ⭕️ 1) del : 예약어. del (삭제할것) // del쓰고 하나 띄고 삭제할 값을 입력. 2) delete : 해당 명령어는 없음. 3) remove : remove() 함수. 설정값과 같은 요소를 검색하고 가장 앞에 있는 것 하나만 삭제. 4) pop : ..
Python 특징, 개발환경 파이썬은 간편한 사용방법으로 인간의 시간을 최소화하면서 많은 결과물을 내는 것에 초점을 맞춘 언어이다. 가장 중요하게 여겨지는 영역은 데이터 분야이다. 원래 파이썬은 그리스 신화에 나오는 '피톤'이라는 뱀의 이름이다. 이 뱀의 이름에서 따왔기 때문에, 파이썬 프로그래밍 정식 로고는 뱀 두마리가 서로 똬리를 튼 듯한 형태를 사용한다. ✔️ 파이썬의 특징 1) 플랫폼 독립적인 언어다. : 어떤 운영체제에서든 상관없이 실행할 수 있다. 2) 인터프리터(interpreter) 언어다. : 컴파일러 언어와 달리 소스코드 자체가 바로 실행되는 특징이 있는 언어다. 속도는 느리지만 편하다. (번역보다 통역의 느낌) 3) 객체지향언어다. (↔︎ 절차적) : 해당 프로그램이 해결해야 할 문제의 구성요소를 요소별로 정의한..
데이터 과학을 위한 파이썬 프로그래밍 연습문제 Chap1 ※ 직접 푼 거라 틀릴 수도 있음. (Py3 기준) 1. 파이썬 인터프리터 언어는 어떤 OS에서든 작동 가능하다. ➡︎ 예 : 파이썬은 플랫폼 독립적인 언어이기 때문이다. 2. 파이썬은 C나 자바에 비해 속도가 느리다. ➡︎ 예 : 인터프리터 언어 특성상 컴파일러 언어(C, Java)보다 느리다. 3. 파이썬 언어의 가장 큰 장점은 기계어를 직접 다룰 수 있다는 점이다. ➡︎ 아니오 : 기계어는 CPU가 컴파일없이 읽을 수 있는 언어로 비트 단위로 표기되어 0과 1로만 표기되는 언어다. 파이썬은 기계어를 직접 다루지 않는다. (파이썬이 0과 1만 쓰는거 아니자네) 4. 파이썬은 어셈블러와 같은 기계어 변환 과정이 필요 없다. ➡︎ 예 : 어셈블러는 작성된 어셈블리어를 기계어로 바꿔 주는 프로그램으로 일종..