문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def solution(array, commands): answer = [] for command in commands: answer.append(sorted(array[command[0]-1:command[1]])[command[2]-1]) return answer *key point: 리스트의 index에 유의하기만 하면 어렵지 않게 풀 수 있다. *comment: for문을 사용해서 리스트의 요소별로 반복할 때 다음과 같은 방식으로 보다 간단한 풀이가 가능하다. def solutio..
Node.js 심화주차 원격 강의: 계층형 아키텍쳐 패턴 알게 된 점 대표적인 아키텍처 패턴: 저장소 패턴/ 서비스 계층 패턴/ 작업 단위 패턴/ 애그리게이트 패턴 아키텍처 패턴을 도입할 때에는 이익과 비용에 대해 확실한 이유가 있어야함(어플리케이션과 도메인이 충분히 복잡한 경우에 활용) 계층형 아키텍처 패턴 어떤 경우에서도 계층을 분리하여 유지하고 바로 아래 계층에만 의존하게 함 계층화의 핵심은 높은 응집도(Cohesion)와 낮은 결합도(Coupling) 3계층 아키텍처 패턴 프레젠테이션 계층 (Presentation Layer) 비즈니스 로직 계층 (Business Logic Layer) 데이터 엑세스 계층 (Data Access Layer) 처리 과정: Client의 Request → Contro..
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def solution(arr1, arr2): for i in range(len(arr1)): for j in range(len(arr1[i])): arr1[i][j] = arr1[i][j] + arr2[i][j] return arr1 *key point: 반복문을 이용하여 두 2차원 배열의 같은 index의 요소들을 더한다.
시스템 설정 관련 에러 문제점 typescript로 예시를 따라해보는 중 "이 시스템에서 스크립트를 실행할 수 없으므로 ~~ 파일을 로드할 수 없습니다." 라는 에러가 발생함 시도해본 것들 처음부터 다시 해보기, 구글에 에러 그대로 검색 해결 Windows Powershell을 이용한 시스템 설정 변경 1. Get-ExecutionPolicy -> Restricted 임을 확인 2. Set-ExecutionPolicy RemoteSigned로 설정 변경 *RemoteSigned: 로컬에서 본인이 생성한 스크립트와, 신뢰할 수 있는(서명된) 스크립트 파일 실행 가능 알게 된 점 단순 코드 문제가 아니라 시스템 설정으로 인해 에러가 발생할 수도 있다!
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def solution(arr, divisor): answer = sorted([e for e in arr if e % divisor == 0]) if len(answer) == 0: answer = [-1] return answer *key point: list comprehension, sorted 함수 활용하여 주어진 조건의 list를 얻는다. 결과가 빈 리스트인 경우에만 [-1] 을 할당한다. *comment: 아래와 같이 or 을 활용하면 빈 리스트인 경우에 대한 리턴을 쉽게 해..
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def solution(x): return x % sum(map(int, list(str(x)))) == 0 *key point: 각 자리수의 합을 형변환과 map, sum 함수를 이용해 간단히 계산할 수 있다.
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def solution(x, n): answer = [x * i for i in range(1 , n + 1)] return answer *key point: list comprehension으로 간단히 풀이한다. *comment: programmers 문제들 중 간단한 것들은 이렇게 최대한 짧게 코딩해보는 것이 좋겠다..!
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def solution(numbers): return 45 - sum(numbers) *key point: 0 ~ 9 까지의 합인 45에서 주어진 리스트 안의 수를 모두 더해 빼주면 된다. *comment: 최대한 간단하게 코딩해보고자 했고 처음으로 다른 사람의 풀이 중 가장 위에 있는 것과 동일했다! 그런 사람이 많은 간단한 문제이기는 했지만 뿌듯~~
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def solution(s): answer = (len(s) == 4 or len(s) == 6) and s.isdigit() == True return answer *key point: isdigit() 메서드를 활용해 문자열이 숫자로만 이루어져 있는지 쉽게 판단할 수 있다. *comment: 아래와 같이 표현하면 문자열의 길이가 4 또는 6인 조건을 더 간결히 구현할 수 있다. len(s) in (4, 6)
Prettier 사용법 문제점 항상 일정한 코드 포맷을 만들고 싶다 협업 시 팀만의 코드 포맷이 필요하다 시도해본 것들 그동안 생각만 해보았지 툴을 찾아보려고 하지 않았다.. 해결 Prettier 플러그인을 활용한다 알게 된 점 // .prettierrc.js module.exports = { trailingComma: 'es5', // 코드 맨 뒤에 콤마(,)를 붙일수 있는 경우 ES5에서 허용되는 부분까지만 붙임 tabWidth: 2, // 들여쓰기 한번에 2만큼의 스페이스로 구성 semi: true, // 코드 뒤에 세미콜론을 붙임 (코드 맥락 파악에 중요) singleQuote: true, // 문자열 표기 시 외따옴표 사용 (편의성이 좋음) arrawParens: 'always' // Arrow..
- Total
- Today
- Yesterday
- 25501
- 20920
- 13909
- 17103
- 항해+
- 4134
- 5597
- 25192
- 13241
- 2903
- 2738
- til
- 항해 플러스
- 2587
- 1269
- 26069
- 2053
- 코육대
- programmer
- 24723
- 24060
- Programmers
- 백준
- Wil
- 24313
- 벡준
- 10807
- SQL
- MySQL
- Python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |