The journey to becoming a developer

My future is created by what I do today, not tomorrow.

Total 357

[프로그래머스 Level 1] 문자열 내림차순으로 정렬하기 (자바스크립트)

Description 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. Constraints str은 길이 1 이상인 문자열입니다. My Solution function solution(s) { return s.split('').sort().reverse().join(''); } 각종 메서드를 활용하여 간단하게 풀 수 있었다. Other's Solution function solution(s) { return s .split('') .sort((a, b) => { if (a > b) return -1; if (b > a) return 1; retur..

Programming Basics: Statements & Functions: Crash Course Computer Science #12

Last episode Last episode we discussed how writing programs in native machine code, and having to contend with so many low level details, was a huge impediment to writing complex programs. To abstract away many of these low-level details, Programming Languages were developed that let programmers concentrate on solving a problem with computation, and less on nitty gritty hardware details. Today's..

[프로그래머스 Level 1] 문자열 다루기 기본 (자바스크립트)

Description 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. Constraints s는 길이 1 이상, 길이 8 이하인 문자열입니다. My Solution function solution(s) { if (s.length === 4 || s.length === 6) { if (s.includes('e')) return false; return !isNaN(s); } else return false; } 가장 처음의 조건으로는 문자열의 길이가 4 또는 6이어야 하고, 그렇지 않으면 false를 리턴한다. 문자열의 길이 조건을 통과했다면, 그 문..

The First Programming Languages: Crash Course Computer Science #11

Last Episode So far, for most of this series, we’ve focused on hardware -- the physical components of computing -- things like: electricity and circuits, registers and RAM, ALUs and CPUs. Today's Episode But programming at the hardware level is cumbersome and inflexible, so programmers wanted a more versatile way to program computers - what you might call a “softer” medium. That’s right, we’re g..

[프로그래머스 Level 1] 수박수박수박수박수박수? (자바스크립트)

Description 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. Constraints n은 길이 10,000이하인 자연수입니다. My Solution function solution(n) { return n % 2 === 0 ? '수박'.repeat(n / 2) : '수박'.repeat(n / 2) + '수'; } repeat()과 삼항 연산자를 통해 간단하게 풀어보았다. Other's Solutions 아주 간단한 문제였지만, 다양한 풀이가 있었던 풀이였다. function solution(n) { return '수박'.repeat(n).sub..

Early Programming: Crash Course Computer Science #10

Last episode 지난 에피소드에서는 컴퓨터 작동 방식, 복잡한 회로를 사용해서 메모리에서 값을 저장/검색하고 두 숫자를 더하는 것과 같이 해당 값에 대한 연산을 수행하는 방법에 관하여 배웠다. We've even briefly talked about sequences of operations, which is a computer program. What we haven't talked about is how a program gets into a computer. In reality, programs have to be loaded into a computer's memory. 에피소드 7, 8에서 만들었던 CPU - 그때는 간단함을 위해 프로그램이 이미 메모리에 있다고 말했지만, 사실은 프로그램..

Advanced CPU Designs: Crash Course Computer Science #9

Last episode 컴퓨터는 1초에 1개를 계산할 수 있던 기계장치에서, kilohertz나 megahertz의 속도로 동작하는 CPU에 이르기까지 오랜 시간 동안 발전해 왔다. 현대 컴퓨터는 거의 다 gigahertz의 속도로 동작하고 있다. 즉, 매 초마다 수십억 개의 명령어가 실행되는 것인데 실로 엄청난 계산량이다. Today's episode electronic computing의 초기에는 일반적으로 칩 내부의 트랜지스터의 switching time을 개선하여 프로세서를 더 빠르게 만들었다. (트랜지스터는 지난 에피소드에서 배웠던 logic gate, ALU와 기타 항목을 구성하는 요소이다.) 트랜지스터를 더 빠르고 효율적으로 만들게 되면서, processor designer들은 성능을 높이기..

Instructions & Programs: Crash Course Computer Science #8

이번 Crash Course 시간에는 명령어와 프로그램에 대해서 배워 본다. 한 번 보고 전부 완벽하게 이해하긴 어려운 내용이기 때문에 이 역시 소화하려면 차근차근 봐야 한다. Last episode ALU + control unit + memory + clock = CPU 이 네 가지를 결합해서 기초적이지만 기능적으로 동작하는 CPU를 지난 시간에 만들어보았다. CPU는 컴퓨터의 심장과도 같은 것이다. 지금까지 이러한 부품(component)들을 전자 회로(electronic circuit)를 통해 만들어 왔다. Today's episode CPU를 만들었으니, 이제 CPU에게 실제로 처리할 명령어를 주자. CPU가 강력한 이유는 프로그래밍이 가능하기 때문이다. 명령어의 순서를 바꿔서 쓰면, CPU는 ..

[프로그래머스 Level 1] 최대공약수와 최소공배수 (자바스크립트)

Description 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다. Constraints 두 수는 1이상 1000000이하의 자연수입니다. 유클리드 호제법(-互除法, Euclidean algorithm) 이 문제를 풀기 위해서는 유클리드 호제법이라는 것에 대한 개념을 알아야 한다. 그래서 개념을 좀 짚고 넘어가려고 한다. 출처는 위키백과. 유클리드 호제법이란, 2개의 자연수 혹은 정식(整式)의 최대공약수를 구하는 알고리즘이다. '호제'는 무슨 뜻..