[알고리즘 전략] python 기본 자료구조 정리
·
알고리즘
** [한권으로 합격하는 취업 코딩테스트] 책을 참고해 작성했습니다.** 주의점, 기억해야할 것을 위주로 작성합니다.  배열- 선언 시 주의점 a1 = [[0] * 5] * 3a1[1][1] = 99 # [1][1] 외에 다른 곳의 값도 99로 출력됨. a2 = [[0] * 5 for _ in range(3)]a2[1][1] = 99 # [1][1] 만 변경됨. - 삽입/삭제는 적고 조회가 잦다 => 배열 - 삽입/삭제가 많고 조회가 적다 => 연결리스트 ** 대표문제 - 요세푸스 문제 0  스택/큐  스택 - LIFO Last Input First Output - 삽입/삭제: O(N)- 배열 사용, append(), pop() - 스택 활용 문제: 입력을 순차적으로 살펴보면서 각각의 데이터를 스택에 언..
[취준/2024] 하반기 KT 신입/대졸 공채 SW개발 전형 코딩테스트 후기
·
취업 주르륵
문제 복기 겸 준비 과정 개선할 겸 적어본다..난생 처음 겪어본 기업 코테.. 두근두근...  KT는 프로그래머스 환경에서 시행된다길래 프로그래머스에서 제공하는 코딩테스트 > 알고리즘 고득점 kit 풀어보고, 연습문제 풀면서 환경에 익숙해지는데 힘썼다. 알고리즘 고득점 Kit는 말 그대로 자료구조 & 알고리즘 공부하는데 도움이 됐다.    📌 일시 및 환경 2024.10.19일 오전 10시~12시 총 23문제였고, 프로그래머스 환경에서 실시됐다.   📌 문제복기: 프로그래밍 3문제 + 객관식 20문제  프로그래밍 3문제 전부 구현 문제들이었고, 객관식은 AI/NW/클라우드 부문 답게 관련 지식을 물어봤다. - NW 쪽 지식 많이 물어봄 (라우터, OSI 7계층, AI 모델, 패킷 단위, NW 알고리즘..
[프로그래머스/Python] Lv2. 피보나치 수
·
코딩테스트/프로그래머스
📌  문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/12945 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 📌  문제설명 📌 풀이과정 & 풀이코드 처음에는 재귀함수로 작성해서 풀이될 줄 알았다.. 근데 시간 초과가 뜨길래, 어쩌면 당연할 수도 !! 하고 메모제이션을 시도했다. 이것도 런타임 에러가 떠서.. 어떡하지 하고 고민하다가 질문하기에서 for문을 사용해야 한다는 걸 봤다. 그럼 0부터 n까지 그냥 직접 계산해나가야 하는구나 싶었다. 아래 방법 기억해두면 좋을 것 같다. def s..
[프로그래머스/Python] 다음 큰 수
·
코딩테스트/프로그래머스
📌 문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/12911 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 📌 문제설명   📌 풀이과정 & 풀이코드10진수를 2진수로 바꾸는 toBinary()를 정의한다. n보다 큰 수에 대해 똑같이 2진수를 구하고, "1"의 개수를 셌을 때 같으면 그 수를 바로 리턴하도록 한다. def solution(n): bin_n = toBinary(n) n_cnt = str(bin_n).count("1") for i in range(n+1, 10..
[프로그래머스/Python] Lv2. 숫자의 표현
·
코딩테스트/프로그래머스
📌 문제링크https://school.programmers.co.kr/learn/courses/30/lessons/12924 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  📌 문제설명   📌 풀이과정✅ 1번째 시도: 정확성 100 효율성 0 def solution(n): answer = 0 for i in range(1, n+1): tmp = 0 for j in range(i, n+1): tmp += j if tmp == n: answer..
[프로그래머스/Python] 알고리즘고득점Kit-DFS/BFS-타겟넘버
·
카테고리 없음
📌  문제링크https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 📌  문제설명n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 ..