본문 바로가기

728x90

분류 전체보기

(113)
[Python algorithm interview] string_2 문자열 뒤집기 파이썬 알고리즘 인터뷰의 2020ver.을 리뷰하고 있습니다. 2. 문자열 뒤집기 이번에는 매우 간단한 문항입니다. 저자에 의하면 투 포인터(Two pointer)라는 방식과 reverse()를 사용하는 방식으로 풀이가 가능합니다. 🎈문제 문자열을 뒤집는 함수를 작성하라. 입력값은 문자 배열이며, 리턴 없이 리스트 내부를 직접 조작하라. 🔑입력 예제 ["h", "e", "l", "l", "o"] ["o", "l", "l", "e", "h"] 두번째 ['H', 'a' , 'n', 'n', 'a', 'h'] ['h', 'a' , 'n', 'n', 'a', 'H'] 🛴 풀이법. ep1 two pointer def se1(s:list[str]): left, right = 0, len(s)-1 while left..
[Python algorithm interview] 파이썬 기초 정리 파이썬 알고리즘 인터뷰에 대한 필자의 리뷰 및 테스트 예제입니다. 파이썬 알고리즘의 기초문제, 문자열부터 시작합니다. 앞전의 내용은 파이썬의 기본적인 내용에 대해서 다루고 있었습니다만 필자의 전 글에서 제시한 내용과 유사하므로 생략했습니다. 다만, 시간복잡도에 대한 내용은 유용한 것으로 보입니다. 멈춰있는 version 난이도 1의 문자열 문항입니다. 1. 유효한 펠린드롬 구해보기 🎈문제 주어진 문자열이 펠린드롬인지 확인하라. 대소문자를 구분하지 않으며, 영문자와 숫자만을 대상으로 한다. 🔑입력 예제 'A man, a plan, a canal: Panama' true 펠린드롬이란? 코딩테스트에 설명없이 처음보는 단어가 계속 등장한다면 여간 당황스러운 일이 아닐 것입니다. 펠린드롬이란 앞에서 부터 읽어도,..
<최재천의 공부>후기. 바라보는 모든 곳에서 얻는 것 인생의 가장 큰 부분을 차지하는 귀중한 요소 학습, 독서, 사유 ​ 최재천의 공부 《최재천의 공부》는 동물과 인간을 깊이 관찰해온 최재천 교수가 10여 년 전부터 꼭 쓰고 싶었던 책으로, 지금 이 시대에 꼭 필요한 공부에 관한 생각을 총망라한다. 인생 전반에 걸쳐 공부가 왜 중요하고 우리에게 어떤 영향을 미치는지 살펴보고, 그동안 제대로 논의된 적 없는 대한민국 교육의 현실을 톺아보고 미래상을 그려보며 청사진을 제시한다. 하버드대학교 시절 몸소 체득한 경험, 서울대학교에서 이화여자대학교 교수 시절까지 있었던 강의, 자연과학과 인문학을 넘나드는 통섭적 시야 등이 이 책의 바탕이 되었다. 수많은 청소년과 부모, 청년과 중년, 정부와 기업이 자연과학계의 대가인 최재천 교수에게 물었다. “어떻게 좋아하는 일을 ..
[Baekjoon] 백준 #2738번 파이썬 해답 백준의 단계별 풀어보기 2차원 배열 행렬의 덧셈은 어떻게 만들까요 먼저 이번 문제부터 살펴보겠습니다. 출력자체는 단순합니다. 문제 읽기 문제 N*M크기의 두 행렬 A와 B가 주어졌을 때, 두 행렬을 더하는 프로그램을 작성하시오. 입/출력 첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같고, 행렬의 원소는 절댓값이 100보다 작거나 같은 정수이다. 첫째 줄부터 N개의 줄에 행렬 A와 B를 더한 행렬을 출력한다. 행렬의 각 원소는 공백으로 구분한다. 3 3 1 1 1 2 2 2 0 1 0 3 3 3 4 4 4 5 5 100 4 4 4 6 6 6 5 6..
[Baekjoon] 백준 #11653번 파이썬 해답 baekjoon online judge의 단계별로 풀어보기 중 수학 부분입니다. 기본 수학 2, 일명 소인수분해 입니다. 분명 기본 수학이라고 되어있지만, 기본 단계는 아닌것 같습니다. 문제부터 한번 보겠습니다. 내용은 자체는 심플합니다. 문제 정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오. 입력/출력 입력 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. 출력 N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다. N이 1인 경우 아무것도 출력하지 않는다. 해답 N = int(input()) if N == 1: print('') else: for i in range(2,N+1): while N%i == 0: print(i) N = N / i 아래는 초등수학 과정..
[Baekjoon] 백준 #2292번 파이썬 해답 통칭, 벌집문제입니다 백준의 단계별로 풀어보기 → 기본 수학1 부분에 위치하고 있습니다. 문제를 한번 읽어보겠습니다. 문제 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지 (시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58까지는 5개를 지난다. 입력 부분 첫째 줄에 N(1 ≤ N ≤ 1,000,000,000)이 주어진다. 출력 부분 입력으로 주어진 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나는지 출력한다. 입/출..

728x90