'Development' 카테고리의 글 목록 (17 Page)
본문 바로가기

Development

(155)
[DFS] 프로그래머스 level 2 타켓넘버 Python 풀이 https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 모든 경우의 수를 구하는 것이므로 DFS/BFS +1, -1 각각 연산하면서 값이 target과 같으면 answer +1 코드 def solution(numbers, target): answer = 0 numbers_length = len(numbers) def dfs(idx, value): if idx == numbers_length: if target == value: nonloca..
JetBrains가 조사한 2023년 개발자 에코시스템 현황 전 세계 26,348명 개발자 대상 조사 언어 가장 많이 사용된 프로그래밍 언어 : JavaScript > Python > HTML/CSS > SQL > Java > Shell > Typescript > C++ > C# 2024년 채택 가능성: Rust 10% > Go 9% > Kotlin/TypeScript 6% > Python 5% JavaScript 인기 소폭 하락 Rust에 대한 신뢰: 계속 성장 중 Objective-C는 확실히 역사의 뒤안길로 사라짐 소프트웨어 개발자 라이프 스타일 2023년에는 Scala, Go, Kotlin 개발자가 가장 높은 연봉을 받는 상위 3개 범주로 선정 2021년부터 설문조사 데이터에 따르면 여성 개발자의 비율은 개선의 움직임이 보이지 않음. 개발자 중 여성이 5%..
[Spring] Spring JPA에서 null을 리턴 하지 않는 경우와 Optional 타입에 대하여 프로젝트를 진행하다가 JPA 메서드 리턴 타입에 Optional 래퍼 클래스를 씌운 적이 있는데, 이게 알고보니 JPA에서 null을 리턴하지 않는 메서드에다가도 적용을 했었던 의미 없는 변경을 한 적이 있습니다. 이 글에서는 Spring JPA에서 리턴 타입에 관해 작성해보고자 합니다. Optional Class Optional 은 Null이 아닌 값을 포함하거나 포함하지 않을 수 있는 컨테이너 객체를 나타내는 Java 클래스입니다. 값이 존재하는 경우 `isPresent()` 메서드는 `true`를 반환하며, `get()` 메서드는 해당 값을 반환합니다. 값의 존재 여부에 따라 의존하는 추가 메서드도 제공됩니다. 예를 들어, 값이 존재하지 않을 때 기본값을 반환하는 `orElse()` 메서드나 값이 ..
[완전탐색] 프로그래머스 level 2 소수 찾기 Python 풀이 https://school.programmers.co.kr/learn/courses/30/lessons/42839?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 일단 모든 만들 수 있는 숫자를 생성해야 함 -> 순열 소수 판별하는 함수를 만들어야함 Java로 구현하려 했으나.. 자바에서 순열을 연산해 주는 라이브러리가 없는 것 같아서 https://github.com/TheAlgorithms/Java/blob/c527dff92da2046b850ffe9a3b8d0c2aae15d588/src/main/java/com/..
[2022 KAKAO TECH INTERNSHIP] 두 큐 합 같게 만들기 Python 풀이 https://school.programmers.co.kr/learn/courses/30/lessons/118667 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 핵심은 총합이 큰 queue에서 작은 queue로 요소가 이동해야 함 반복문을 돌면서 한쪽 큐로 옮겨보고, 합해보고, 다시 비교해 보고 같아지거나 최대 카운트 벗어나면 break 시간 초과 시간 초과에 대해 고민을 했는데.. sum() 함수 연산을 최소화 (변수에 저장하고 연산하는 식으로) 최대 연산 수를, 하나의 queue가 싹 빠지고 다시 원래 queue로 돌아오는 경우라 생각해서..
[2022 KAKAO TECH INTERNSHIP] 성격 유형 검사하기 Python 풀이 https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 각 성격 유형 별로 score를 저장하는 자료구조가 필요할 듯 근데 default 값이 있어야 성격을 모두 출력 가능하니, defaultdict 사용 "RT"던 "TR"이던 신경 쓸 필요는 없어 보임 어차피 score에 따라 점수 부여가 달라지니깐 같은 점수일 경우 사전식으로 정렬하여 출력하면 되니 sort 후 점수 비교하여 answer에 추가 코드 import collections ..
[Hash] 프로그래머스 Level 2 전화번호 목록 Python 풀이 https://school.programmers.co.kr/learn/courses/30/lessons/42577 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 Sort를 하면 사전식으로 정렬을 하게 되는데, 이는 결국엔 문자열 길이 상관없이 앞 문자를 기준으로 정렬하게 된다. 결국 접두사가 되려면 앞 문자가 같아야 하므로 앞 문자가 같은 문자열끼리 정렬이 된다. 바로 앞 인덱스 문자끼리만 비교하면 되고, startswith 함수를 통해 비교 가능하다. 코드 def solution(phone_book): phone_book = sorted(ph..
[개발일기]Python은 멀티쓰레딩 언어인데 GIL은 왜멀티쓰레딩을 막도록 설계되었나요? 그리고 Python 3.12 Per-interpreter GIL 인턴 생활을 하면서 Python의 대해 공부를 좀 했었는데, Python은 멀티쓰레딩 언어임에도 GIL라는 장치는 마치 단일 쓰레딩만 가능하도록 설계가 되었다는 것을 알았습니다. 왜 멀티쓰레딩 언어임에도 이를 막고자 설계가 되었는지 시니어 개발자분께 여쭤본 기억이 있는데요, 마침 최근 Python 3.12에는 Interpreter improvements의 사항으로 PEP 684, a unique per-interpreter GIL 가 있더라구요! 이 글에서는 GIL과 per-interpreter GIL 에 대해 다루고자 합니다. GIL 파이썬은 메모리 관리를 위해 참조 계수(reference counting)를 사용합니다. 이는 파이썬에서 생성된 객체가 해당 객체를 가리키는 참조의 개수를 추적하는 참조 ..