본문 바로가기

전체 글

(159)
프로그래머스[LEVEL2] - JdenCase 문자열 만들기 https://school.programmers.co.kr/learn/courses/30/lessons/12951 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 먼저 문자열을 전부 소문자로 통일한 다음 첫 글자가 숫자가 아닌 문자이면 대문자로 바꿔주고 배열에 넣어서 마지막에 문자열을 합쳐서 출력해주는 방식으로 해결하였습니다.
프로그래스[LEVEL1] - 로또의 최저 순위와 최고 순위 https://school.programmers.co.kr/learn/courses/30/lessons/77484 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 사실 처음 풀어보는 문제는 아니다 처음 풀었을 때는 if 문을 엄청나게 중첩해서 풀었던 것 같은데 메서드를 이용하면 이렇게 간결하게 풀이 할 수 있다 0이 적혀있는 부분을 다 맞춘 케이스와 다 틀린 케이스를 나누면 각각 최고 순위와 최저 순위가 나온다.
[Javascript] - 객체의 정렬 방식 객체의 정렬 방식 객체는 특별한 방식으로 정렬된다 정수 프로퍼티는 자동으로 정렬되고 그외의 프로퍼티는 객체애 추가한 순서 그대로 정렬된다. 위 예제는 나라번호가 정수이기 때문에 프로퍼티가 자동 정렬되어 있다 위 예제는 키가 정수 프로퍼티가 아니기 때문에 작성된 순서대로 프로퍼티가 나열된다 정수 프로퍼티란 ? 정수 프로퍼티는 용어는 변형 없이 정수에서 왔다 갔다 할 수 있는 문자열을 의미한다 문자열 '49'는 정수로 변환하거나 변환한 정수를 다시 문자열로 바꿔도 변형이 없기 때문에 정수 프로퍼티 이다 하지만 +'49'와 '1.2'는 정수 프로퍼티가 아니다
[Javascript] - 자바스크립트의 배열은 배열이 아니다 배열 일반적으로 배열이라는 자료 구조의 개념은 동일한 크기의 메모리 공간이 빈틈없이 연속적으로 나열된 자료구조를 말한다. 즉 배열의 하나의 요소는 하나의 타입으로 통일되어 있으며 서로 연속적으로 인접해 있다 이러한 배열을 밀집 배열이라고 한다 . 위 사진 처럼 배열의 요소는 동일한 크기를 가지며 빈틈없이 연속적으로 이어져 있으므로 아래와 같이 인덱스를 통해 단 한번의 연산으로 임의의 요소에 접근 할 수 있다 이는 매우 효율적이며 고속으로 동작한다. 위 예제처럼 배열은 인덱스를 통해 효율적으로 요소에 접근할 수 있다는 장점이 있다 하지만 정렬되지 않은 배열에서 특정한 값을 탐색하는 경우 모든 배열 요소를 처음부터 값을 발견할 때까지 차례대로 탐색해야 한다. 또한 배열에 요소를 삽입하거나 삭제하는 경우 배열..
[Javascript] - 얕은 복사와 깊은 복사 * 얕은 복사 - 얕은 복사는 참조 복사라고도 하는데 이는 참조 값의 복사를 나타내기 때문이다 위 예제를 보면 obj 객체를 새로운 newObj 객체에 할당하였으며 이를 참조 할당이라고 부른다 복사 후 newObj 객체의 value 값을 변경하였더니 기존의 obj.value 값도 같이 변경된 것을 확인할 수 있다 두 객체를 비교해도 true가 나온다. 이렇게 자바스크립트의 참조 타입은 얕은 복사가 된다고 볼 수 있으며 이는 데이터가 그대로 생성되는 것이 아닌 해당 데이터의 참조 값을 전달하여 결국 한 데이터를 공유하는 것이다. 깊은 복사 깊은 복사는 값 복사라고도 한다 이는 값 자체를 복사하기 때문이다. 변수 a를 새로운 변수 b에 할당하였고 b값을 변경하여도 기존의 a값은 변경되지 않는다. 두 값을 비..
[Javascript] - 형 변환 * 형변환 함수와 연산자에 전달되는 값은 대부분 적절한 자료형으로 자동 변환된다 이러한 과정을 형 변환 이라고 한다 문자 , 숫자 논리형으로의 형 변환은 자주 일어나는 형 변환이다 문자형으로 변환은 String(value) 를 사용하면 문자형으로 명시적 변환이 가능하다. 이항 연산자 + 와 문자열 연결 시 피연산자 중 하나가 문자열이면 다른 하나도 문자열로 변환된다. 연산은 왼쪽에서 오른쪽으로 순차적으로 진행되기 때문에 위와 같은 결과가 나온다 . * 숫자 변환 - 숫자형으로 변환은 수학 관련 연산 시 주로 일어난다 Number(value) 를 사용하면 형 변환을 할 수 있다. 단항 덧셈 연산자는 이항 연산자 뿐만 아니라 단항 연산자로도 사용할 수 있다 피연산자가 숫자가 아닌 경우엔 단항 덧셈 연산자를 ..
프로그래머스 [LEVEL1] - 다트 게임 ('2018 카카오 블라인드 코딩테스트') https://school.programmers.co.kr/learn/courses/30/lessons/17682 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 진짜 간단하게 모든 케이스를 if else 로 풀었다 여기서 문제는 점수가 10인 경우다 dartResult 요소가 처음에 1이나오고 다음에 0이 나오면 10을 배열에 넣었다 문제가 길어서 약간 쫄게되는데 그럴 필요가 없었다
프로그래머스 [LEVEL1] - 실패율 ('2019 카카오 블라인드 코딩테스트') 문제 풀이 sort와 filter map 같은 배열 메서드를 제대로 알고 활용할 줄 알면 충분히 풀 수 있는 문제다 주의 할점은 실패율을 기준으로 내림차순으로 정렬하고 같으면 stage를 기준으로 오름차순으로 정렬한다