4. 원소 개수 세기 (Counting Elements) Codility Lesson 한국어 정리본 (JavaScript ver.) 원소 개수 세기란?배열을 활용하여 숫자 시퀀스를 저장하는 방법에는 여러 가지가 있다. 일반적으로 연속된 숫자 a₀, a₁, ..., aₙ₋₁를 배열의 인덱스에 맞춰 저장한다.예를 들어:let A = [4, 2, 4, 5];// A[0] = 4, A[1] = 2, A[2] = 4, A[3] = 5그러나 원소를 직접 저장하는 대신, 각 숫자의 등장 횟수를 세는 배열 을 만들 수도 있다.이 경우, 배열 count[] 는 해당 값이 등장한 횟수를 저장한다.count[2] = 1; // 숫자 2는 한 번 등장count[4] = 2; // 숫자 4는 두 번 등장count[5] = 1; // 숫자 5는 한 번 등장이 방법을 사용하면 특정 숫자가 등장한 횟수를 O(1) 시간에 확인할 수 있다.1. O(n + m) 시간..
3. 시간 복잡도 (Time Complexity) Codility Lesson 한국어 정리본 (JavaScript ver.) 시간 복잡도란?시간 복잡도(Time Complexity)를 사용하면 프로그램의 실행 시간을 대략적으로 추정할 수 있다. 정확한 실행 시간을 계산하는 것은 컴파일러, 컴퓨터의 종류, 프로세서 속도 등 여러 요인에 의해 영향을 받기 때문에 매우 복잡하다. 따라서, 우리는 실행 시간의 대략적인 크기(order of magnitude) 를 측정하는 것이 목표이다.복잡도는 프로그램이 실행할 수 있는 기본 연산(primitive operation) 의 최대 개수로 볼 수 있다. 여기서 기본 연산이란 덧셈, 곱셈, 대입 연산 등을 의미한다. 하지만 모든 연산을 다 고려하는 대신, 프로그램에서 가장 많이 실행되는 지배적인 연산(dominant operation) 에 초점을 맞춘다.프로그램의 시간 복잡도는 입력 데이터에..
2. 배열 (Arrays) Codility Lesson 한국어 정리본 (JavaScript ver.) 배열 (Arrays)배열(Array)은 여러 개의 항목을 한 곳에 저장할 수 있는 데이터 구조이다. 예를 들어, 쇼핑 목록을 생각해보자. 각각의 제품을 개별적인 페이지에 기록하지 않고, 한 페이지에 나열하는 것이 더 효율적이다. 배열은 이러한 개념과 유사하다. 마찬가지로, 1년 동안의 일일 기온을 기록하려 한다면, 365개의 변수를 만들기보다는 하나의 배열에 저장하는 것이 더 적절하다.1. 배열 생성 (Creating an Array)우리는 세 개의 제품을 포함하는 쇼핑 목록을 만들고자 한다. 이러한 배열은 다음과 같이 생성할 수 있다.JavaScript 코드:let shopping = ['bread', 'butter', 'cheese'];배열의 각 항목을 요소(element) 라고 한다. 배열은 메모리..
1. 반복 (Iterations) Codility Lesson 한국어 정리본 (JavaScript ver.) Codility 에서 제공하는 lesson의 open material 을 모두 한국어로 정리하는 동시에, 나는 JS 로 코딩테스트를 봐야하기 때문에 튜토리얼 속 파이썬 코드를 JS 코드로 바꿔 정리하게 되었다.100% 완벽한 번역본이 아닌 필자의 입맛대로 (벼락치기용 )ㅎ 정리한 내용이다.lesson 17까지 다 공부하고 문제 풀고 블로그에 포스팅까지 하는게 목표!반복문 (Iterations)프로그래밍에서 반복(iterating) 이란 프로그램의 일부를 여러 번 실행하는 것을 의미한다. 이 장에서는 반복을 수행할 수 있는 기본적인 프로그래밍 구조인 for문과 while문을 다룬다.1.1. For 루프 (For Loops)어떤 연산을 일정 횟수만큼 반복하거나, 특정 컬렉션의 각 요소에 대해 반복하려면 fo..
자료구조(Data Structure) 총정리 대표적 자료구조 및 알고리즘 정리최근에 자료구조 분류 도식, 배열(array), 연결 리스트(linked list), 스택(stack), 재귀함수와 스택 메모리, 큐(queue), 멀티스레딩과 큐에 대해 다시 공부했다. 이 외에도 해시테이블, 그래프, 트리, 힙 등 중요한 자료구조를 포함해 중요 자료구조 8개를 정리해보려한다. 0. 자료구조 분류 도식자료구조는 크게 선형(Linear) 자료구조와 비선형(Non-linear) 자료구조로 분류된다선형 자료구조:배열, 연결 리스트, 스택, 큐 등이 대표적특징: 메모리 상에 연속적 또는 순차적으로 데이터를 저장하며, 삽입/삭제 연산이 한쪽 끝 또는 중간에서 이루어짐비선형 자료구조:트리, 힙, 그래프 등이 있으며, 계층적 또는 네트워크 형태로 데이터를 저장특징: ..
당근알바 Software Developer Intern - Frontend 최종면접 후기 이번학기에 들어서 지원서를 좀 넣고 있는데, 너무 빠르게 첫 서류 통과이자 최종 면접의 기회가 왔다. 취업이 엄청 급한 시기는 아니라서, 그저 면접을 볼 수 있다는 것 자체만으로 감사했다. 다음교시 기말고사 보고 와서 이어서 쓸 예정..
[ADHD 아동을 위한 VR 프로그램 개발] 캡스톤 일지 2 - 나홀로 눈물파티한 .. 아동 실험 이야기 ✏️ 어쩌다 논문에 발을 들였을까..?  우리팀은 1학기를 나름 열심히 보냈다. 앞으로 얼마나 더 많은걸 하게될 지 모른 체... 매번 어딜가든 새로운 일이 기다리는 코난(me)을 만나 이벤트의 축복이 끝이 없는 듯 하다..   모든 것은 교수님이 어느 날 갑자기 카톡으로 논문 낼 곳을 알려주신 순간부터 시작되었다. 이전에 '논문 한편 써야죠~' 라고 회의시간에 이야기가 나오긴 했었지만 ..ㅎㅎ 딱 이 시점부터 우리는 개발중이던 것을 마무리 지어야 했고, 실험 설계에 대한 고민이 시작하였다. 애플아카데미에서나 타 앱 개발 프로젝트를 할때 유저테스트에 대해 많이 공부해보았기에, 실험 설계는 내가 하고싶다고 말씀드렸다. VR을 이용한 실험은 처음이었기 때문에 많이 알아보고, 프로토콜을 정말 잘 짜야겠다! 고..
[ADHD 아동을 위한 VR 프로그램 개발] 캡스톤 일지 1 - 우리팀을 소개합니다 🐥 🤷🏻‍♀️ 도메인 비만 나가는 나의 블로그 , 왜 이제 돌아왔는가 아는 사람은 알겠지만,, 내 블로그의 도메인은 kimhaeun.com 이다. 온세상 김하은님들께 ,, 죄송하지만 내가 독점중 .... ^^! 작년 애플아카데미 극 초반에 SWIFT 내용을 정리하던게 마지막 글로 뜨니,... 무려 1년 반만에 이 블로그를 켠다.  내가 정말 글로 남겨두고 싶은 것이 생겼는데, 그건 바로 지금 졸업과제로 하고 있는!! 캡스톤 디자인의 과정이다.!   😎 우리팀을 소개합니다 내가 속한 팀은 총 4명으로 구성되어있다. 🧑🏻‍💻 🧑🏻‍💻 🧑🏻‍💻 👩🏻‍💻  한동대학교 이원형 교수님 랩실 (https://sirl.handong.edu/)에 소속되어 있으며,  현재 [ADHD 아동을 위한 V..
[Swift] how to create multiple preview import SwiftUI struct LandmarkList: View { var body: some View { NavigationView { List(landmarks) { landmark in NavigationLink { LandmarkDetail(landmark: landmark) } label: { LandmarkRow(landmark: landmark) } } .navigationTitle("Landmarks") } } } struct LandmarkList_Previews: PreviewProvider { static var previews: some View { ForEach(["iPhone SE (2nd generation)", "iPhone XS Max"], id: \.self) {..