분류 전체보기
-
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 초기 정답 코드 - 로직 설명 주석 // 함수 solution은 세 개의 매개변수를 받습니다. // n: 전체 섹션의 개수 (정수) // m: 한 번에 처리할 수 있는 섹션의 범위 (정수) // section: 처리해야 할 섹션의 목록 (정수 배열) function solution(n, m, section) { // count는 처리된 섹션의 개수를 저장합니다. let count = 0; // location은 현재 처리 위치를 저장합니다. let location = 0; // section 배열의..
[JavaScript/프로그래머스] 연습문제 - 덧칠하기문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 초기 정답 코드 - 로직 설명 주석 // 함수 solution은 세 개의 매개변수를 받습니다. // n: 전체 섹션의 개수 (정수) // m: 한 번에 처리할 수 있는 섹션의 범위 (정수) // section: 처리해야 할 섹션의 목록 (정수 배열) function solution(n, m, section) { // count는 처리된 섹션의 개수를 저장합니다. let count = 0; // location은 현재 처리 위치를 저장합니다. let location = 0; // section 배열의..
2023.05.09 -
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 초기 정답 코드 - 소인수분해 로직 사용 기존 우리가 알고 있던 약수를 구하는 가장 기본적인 for 문 로직으로는 시간 초과가 발생하였습니다. 그래서 소인수분해를 통해 얻은 각 인수들의 지수+1 을 더하는 로직을 사용하여 문제를 해결했습니다. function solution(number, limit, power) { let answer = 1; // 소인수 분해 함수 정의 function primeFactorization(num) { const factors = {}; let divisor = 2;..
[JavaScript/프로그래머스] 연습문제 - 기사단원의 무기문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 초기 정답 코드 - 소인수분해 로직 사용 기존 우리가 알고 있던 약수를 구하는 가장 기본적인 for 문 로직으로는 시간 초과가 발생하였습니다. 그래서 소인수분해를 통해 얻은 각 인수들의 지수+1 을 더하는 로직을 사용하여 문제를 해결했습니다. function solution(number, limit, power) { let answer = 1; // 소인수 분해 함수 정의 function primeFactorization(num) { const factors = {}; let divisor = 2;..
2023.05.09 -
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 초기 정답 코드 function solution(cards1, cards2, goal) { let answer = "Yes"; // 여기에 이전 사용한 카드 뭉치 명 저장 let lastCards = "cards2"; // 여기에 만들어지는 문장 저장 let sentence = []; // 각각의 카드들에서 하나씩 빼가면서 0번째 자리에 들어갈 수 있는 지 확인하는 로직 goal.forEach((g) => { if (g === cards1[0] && cards1) { sentence.push(ca..
[JavaScript/프로그래머스] 연습문제 - 카드 뭉치문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 초기 정답 코드 function solution(cards1, cards2, goal) { let answer = "Yes"; // 여기에 이전 사용한 카드 뭉치 명 저장 let lastCards = "cards2"; // 여기에 만들어지는 문장 저장 let sentence = []; // 각각의 카드들에서 하나씩 빼가면서 0번째 자리에 들어갈 수 있는 지 확인하는 로직 goal.forEach((g) => { if (g === cards1[0] && cards1) { sentence.push(ca..
2023.05.08 -
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 초기 정답 코드 function solution(s) { let answer = ''; s = s.split(" "); answer = `${Math.min(...s)} ${Math.max(...s)}`; return answer; } 로직 설명 주어진 숫자들이 들어있는 문자열 s를 공백을 기준으로 나눕니다. 템플릿 리터럴을 이용하여 간결하게 문자열 내에 최솟값과 최댓값을 배치합니다. 정답을 반환합니다. 1차 개선 - 한 줄 코드 만들기 불필요한 선언과 리턴을 줄여 한 줄 코드로 만든 결과물 입니다..
[JavaScript/프로그래머스] 연습문제 - 최댓값과 최솟값문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 초기 정답 코드 function solution(s) { let answer = ''; s = s.split(" "); answer = `${Math.min(...s)} ${Math.max(...s)}`; return answer; } 로직 설명 주어진 숫자들이 들어있는 문자열 s를 공백을 기준으로 나눕니다. 템플릿 리터럴을 이용하여 간결하게 문자열 내에 최솟값과 최댓값을 배치합니다. 정답을 반환합니다. 1차 개선 - 한 줄 코드 만들기 불필요한 선언과 리턴을 줄여 한 줄 코드로 만든 결과물 입니다..
2023.05.08 -
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 초기 정답 코드 function solution(lottos, win_nums) { let answer = []; let sameNumCount = 0; let zeroCount = 0; // lottos와 win_nums를 크기순으로 정렬 // 우선 이 둘의 같은 숫자의 개수와 0의 개수를 따로 저장 // 같은 숫자의 개수는 최저 점수가 될 것이고, 같은 숫자 + 0의 개수를 더한 순위는 최고 점수가 될 것 lottos.forEach((l) => { if (win_nums.includes(l)) ..
[JavaScript/프로그래머스] Dev-Matching: 웹 백엔드 개발자(상반기) - 로또의 최고 순위와 최저 순위문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 초기 정답 코드 function solution(lottos, win_nums) { let answer = []; let sameNumCount = 0; let zeroCount = 0; // lottos와 win_nums를 크기순으로 정렬 // 우선 이 둘의 같은 숫자의 개수와 0의 개수를 따로 저장 // 같은 숫자의 개수는 최저 점수가 될 것이고, 같은 숫자 + 0의 개수를 더한 순위는 최고 점수가 될 것 lottos.forEach((l) => { if (win_nums.includes(l)) ..
2023.05.08 -
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 초기 정답 코드 function solution(k, score) { let lowList = []; let nowList = []; for (let i = 0; i Math.min(a, b))); nowList.sort((a, b) => a - b); } else { if (score[i] > nowL..
[JavaScript/프로그래머스] 연습문제 - 명예의 전당 (1)문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 초기 정답 코드 function solution(k, score) { let lowList = []; let nowList = []; for (let i = 0; i Math.min(a, b))); nowList.sort((a, b) => a - b); } else { if (score[i] > nowL..
2023.05.04 -
DFS, Depth-First Search라고 불리는 이 깊이 우선 탐색은 대표적으로 많이 사용되는 알고리즘 중 하나 입니다. 이 글에서는 어떤 상황에서 BFS를 사용하며, 어떤 코드에서 사용되고 있는 지 알아보도록 하겠습니다. 깊이 우선 탐색(DFS)란 무엇일까? 깊이 우선 탐색(Depth-First Search)은 그래프나 트리와 같은 자료 구조에서 노드를 탐색하는 알고리즘 중 하나입니다. DFS는 시작 노드에서 출발하여 깊이를 우선으로 하여 노드들을 방문하는 방식으로, 한 경로의 최대 깊이까지 도달한 후 다시 이전 노드로 돌아와 미방문 인접 노드를 방문하는 방식으로 진행됩니다. DFS는 다음과 같은 순서로 실행됩니다 시작 노드를 방문합니다. 방문한 노드를 기준으로 인접한 미방문 노드가 있으면 그 노..
[JavaScript] 깊이 우선 탐색, DFS(Depth-First Search)DFS, Depth-First Search라고 불리는 이 깊이 우선 탐색은 대표적으로 많이 사용되는 알고리즘 중 하나 입니다. 이 글에서는 어떤 상황에서 BFS를 사용하며, 어떤 코드에서 사용되고 있는 지 알아보도록 하겠습니다. 깊이 우선 탐색(DFS)란 무엇일까? 깊이 우선 탐색(Depth-First Search)은 그래프나 트리와 같은 자료 구조에서 노드를 탐색하는 알고리즘 중 하나입니다. DFS는 시작 노드에서 출발하여 깊이를 우선으로 하여 노드들을 방문하는 방식으로, 한 경로의 최대 깊이까지 도달한 후 다시 이전 노드로 돌아와 미방문 인접 노드를 방문하는 방식으로 진행됩니다. DFS는 다음과 같은 순서로 실행됩니다 시작 노드를 방문합니다. 방문한 노드를 기준으로 인접한 미방문 노드가 있으면 그 노..
2023.05.04 -
BFS, Breadth-First Search라고 불리는 이 너비 우선 탐색은 대표적으로 많이 사용되는 알고리즘 중하나입니다. 이 글에서는 어떤 상황에서 BFS를 사용하며, 어떤 코드에서 사용되고 있는 지 알아보도록 하겠습니다. 너비 우선 탐색(BFS)란 무엇일까? 너비 우선 탐색(Breadth-First Search, BFS)은 그래프와 트리에서 사용되는 탐색 알고리즘 중 하나로, 루트 노드로부터 시작해서 인접한 노드를 먼저 방문하고, 그 다음에 인접한 노드들의 인접한 노드들을 방문하는 식으로 레벨 순서대로 진행하는 방식입니다. BFS는 주로 최단 경로를 찾거나, 두 노드 간의 경로가 있는지 여부를 확인하는 데 사용됩니다. BFS 알고리즘은 다음과 같은 순서로 수행됩니다. 시작 노드를 큐(Queue)에..
[JavaScript] 너비 우선 탐색, BFS(Breadth-First Search)BFS, Breadth-First Search라고 불리는 이 너비 우선 탐색은 대표적으로 많이 사용되는 알고리즘 중하나입니다. 이 글에서는 어떤 상황에서 BFS를 사용하며, 어떤 코드에서 사용되고 있는 지 알아보도록 하겠습니다. 너비 우선 탐색(BFS)란 무엇일까? 너비 우선 탐색(Breadth-First Search, BFS)은 그래프와 트리에서 사용되는 탐색 알고리즘 중 하나로, 루트 노드로부터 시작해서 인접한 노드를 먼저 방문하고, 그 다음에 인접한 노드들의 인접한 노드들을 방문하는 식으로 레벨 순서대로 진행하는 방식입니다. BFS는 주로 최단 경로를 찾거나, 두 노드 간의 경로가 있는지 여부를 확인하는 데 사용됩니다. BFS 알고리즘은 다음과 같은 순서로 수행됩니다. 시작 노드를 큐(Queue)에..
2023.05.04 -
점점 커지고 있는 모바일 시장에서, 단연 압도적인 점유율을 가지고 있는 건 안드로이드 입니다. 이 안드로이드 앱 개발 시장은 지금까지 Java로 이루어졌다면, Kotlin의 등장으로 인해 그 자리를 대체해가고 있는 추세이죠. 이 글에서는 Kotlin이 무엇인지, Android로 App 개발을 하는 것의 장단점은 무엇인지에 대해 이야기하려고 합니다. 앱 개발을 위한 입문자들에게 이 글이 도움이 되기를 바랍니다. Kotlin이란? Kotlin은 JetBrains가 개발한 프로그래밍 언어로, Java와 100% 호환되면서도 더 간결하고 편리한 문법을 제공합니다. 2017년부터 Google이 공식 안드로이드 개발 언어로 선정한 Kotlin은, 현재 안드로이드 앱 개발을 위한 주요 언어 중 하나입니다. Kotli..
[Kotlin] Android App 개발, 그리고 Kotlin점점 커지고 있는 모바일 시장에서, 단연 압도적인 점유율을 가지고 있는 건 안드로이드 입니다. 이 안드로이드 앱 개발 시장은 지금까지 Java로 이루어졌다면, Kotlin의 등장으로 인해 그 자리를 대체해가고 있는 추세이죠. 이 글에서는 Kotlin이 무엇인지, Android로 App 개발을 하는 것의 장단점은 무엇인지에 대해 이야기하려고 합니다. 앱 개발을 위한 입문자들에게 이 글이 도움이 되기를 바랍니다. Kotlin이란? Kotlin은 JetBrains가 개발한 프로그래밍 언어로, Java와 100% 호환되면서도 더 간결하고 편리한 문법을 제공합니다. 2017년부터 Google이 공식 안드로이드 개발 언어로 선정한 Kotlin은, 현재 안드로이드 앱 개발을 위한 주요 언어 중 하나입니다. Kotli..
2023.05.03 -
요즘 Mac을 쓰면서 점점 아이폰으로 바꿔야 하나 생각을 하는 시기에, 아이폰에서 사용하는 앱에는 거의 대부분이 Swift를 통해 만들어진다는 사실을 알았습니다. 어플 만들기에 점점 눈이 가고 있던 차에, 잘 됐다 싶어서 알아보기로 하였죠. 이 글은 Apple의 Swift 소개 페이지에서 정보를 얻어 작성하였습니다. Swift - Apple Swift is everywhere. And now it’s open for everyone. Swift is free and open source, and it’s available to a wide audience of developers, educators, and students under the Apache 2.0 open source license. We’..
[iOS] Swift란 무엇일까?요즘 Mac을 쓰면서 점점 아이폰으로 바꿔야 하나 생각을 하는 시기에, 아이폰에서 사용하는 앱에는 거의 대부분이 Swift를 통해 만들어진다는 사실을 알았습니다. 어플 만들기에 점점 눈이 가고 있던 차에, 잘 됐다 싶어서 알아보기로 하였죠. 이 글은 Apple의 Swift 소개 페이지에서 정보를 얻어 작성하였습니다. Swift - Apple Swift is everywhere. And now it’s open for everyone. Swift is free and open source, and it’s available to a wide audience of developers, educators, and students under the Apache 2.0 open source license. We’..
2023.05.03 -
2023 Series [ 2023 ] CheckPoint, 2023년 2023년동안 작성했던 회고록들을 모아 둔 게시글이다 2023년 동안 작성한 회고들을 계속해서 업데이트 해 나갈 예정이다 [ January ] - 변화의 시작, 1월 더보기 [2022WinterBootcamp] 0~1주차 회고 개발자가 time-map-installer.tistory.com 1편에서는 무슨 일이 있었을까? 일찍 학교에 와서 아침을 먹으며 여러 생각을 했다. 맛있는 샐러드와 주먹밥을 먹으며 "동적 컴포넌트를 만들면 잠이 깰까?"라는 의문이 떠올랐다. 그래서 동적 컴포넌트와 정적 컴포넌트의 차이에 대해 생각해 보았고, 리액트에서도 동적인 사이트와 정적인 사이트가 있다는 것을 알게 되었다. 내가 이것에 대해 깊이 생각하게 된..
[문득 떠오른 건데] 밥먹고 졸릴때 리팩토링 요소를 탐색하면 잠이 깰까? - 2편2023 Series [ 2023 ] CheckPoint, 2023년 2023년동안 작성했던 회고록들을 모아 둔 게시글이다 2023년 동안 작성한 회고들을 계속해서 업데이트 해 나갈 예정이다 [ January ] - 변화의 시작, 1월 더보기 [2022WinterBootcamp] 0~1주차 회고 개발자가 time-map-installer.tistory.com 1편에서는 무슨 일이 있었을까? 일찍 학교에 와서 아침을 먹으며 여러 생각을 했다. 맛있는 샐러드와 주먹밥을 먹으며 "동적 컴포넌트를 만들면 잠이 깰까?"라는 의문이 떠올랐다. 그래서 동적 컴포넌트와 정적 컴포넌트의 차이에 대해 생각해 보았고, 리액트에서도 동적인 사이트와 정적인 사이트가 있다는 것을 알게 되었다. 내가 이것에 대해 깊이 생각하게 된..
2023.05.02 -
AWS Series [Learn About AWS] Series 이 글은 AWS 수업 시간에 진행되는 내용들을 담아 둔 시리즈이다 상반기동안 업데이트 할 예정이며 최대한 위에있는 이미지처럼 웃으면서 할 것이다 [1회차] - EC2 찍어먹어보기 [Learn About AWS] 1회 time-map-installer.tistory.com RDS 개념 RDS란? RDS는 Amazon Web Services(AWS)에서 제공하는 관계형 데이터베이스 서비스로, "Relational Database Service"의 약자입니다. 이 서비스는 사용자가 손쉽게 관계형 데이터베이스를 설정, 운영 및 확장할 수 있도록 지원합니다. 클라우드 환경에서의 데이터베이스 관리를 단순화하고, 백업, 복구, 모니터링, 확장 같은 작업..
[Learn About AWS] 4회차 실습내용 정리AWS Series [Learn About AWS] Series 이 글은 AWS 수업 시간에 진행되는 내용들을 담아 둔 시리즈이다 상반기동안 업데이트 할 예정이며 최대한 위에있는 이미지처럼 웃으면서 할 것이다 [1회차] - EC2 찍어먹어보기 [Learn About AWS] 1회 time-map-installer.tistory.com RDS 개념 RDS란? RDS는 Amazon Web Services(AWS)에서 제공하는 관계형 데이터베이스 서비스로, "Relational Database Service"의 약자입니다. 이 서비스는 사용자가 손쉽게 관계형 데이터베이스를 설정, 운영 및 확장할 수 있도록 지원합니다. 클라우드 환경에서의 데이터베이스 관리를 단순화하고, 백업, 복구, 모니터링, 확장 같은 작업..
2023.04.30