자료구조 & 알고리즘/프로그래머스(programmers)

[programmers] 튜플 (2019 카카오 개발자 겨울 인턴십)

https://programmers.co.kr/learn/courses/30/lessons/64065 코딩테스트 연습 - 튜플 "{{2},{2,1},{2,1,3},{2,1,3,4}}" [2, 1, 3, 4] "{{1,2,3},{2,1},{1,2,4,3},{2}}" [2, 1, 3, 4] "{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1] programmers.co.kr 이 문제는 튜플 관련된 문제인 줄 알았지만 문자열을 잘 다루는지를 묻는 문제였다. 파이썬에서 문자열에 관련된 문제는 split을 먼저 떠올리는 게 좋다. split을 사용하면 분리해서 리스트에 담아준다. 처음 주어지는 s 라는 문자열을 앞뒤 {{ , }} 부분은 신경 쓰지 않아도 되기 때문에 s [2:-2]로 ..

2021.08.23 게시됨

자료구조 & 알고리즘/프로그래머스(programmers)

[programmers] 위클리챌린지2주차/상호평가

https://programmers.co.kr/learn/courses/30/lessons/83201 코딩테스트 연습 - 2주차 [[100,90,98,88,65],[50,45,99,85,77],[47,88,95,80,67],[61,57,100,80,65],[24,90,94,75,65]] "FBABD" [[70,49,90],[68,50,38],[73,31,100]] "CFD" programmers.co.kr 이 문제는 먼저 네이버 2021년 4월에 시험 봤던 상반기 신입 코딩 테스트 1번 문제였다. 당시에는 i랑 j 랑 행과 열을 잘못 봐서 시간을 생각보다 많이 썼던 문제였다. 풀이는 간단하다. 점수를 인원수만큼 첫 번째 for문을 돌리면서 돌 때마다 temp라는 리스트를 빈 리스트로 초기화해준다. 그리고..

2021.08.20 게시됨

자료구조 & 알고리즘/프로그래머스(programmers)

[programmers] 전화번호목록

해시 알고리즘은 개발할 때 필수적으로 알아야 할 알고리즘이다. 해시 알고리즘 문제도 자주 접하면서 친해질 필요가 있다고 생각한다. 전화번호 목록은 프로그래머스에 있는 코딩 테스트 연습에서 해시 카테고리에 있는 문제이다. https://programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr 이 문제를 읽고 생각을 했다. 해시가 어떤 구조인지... 어떻게 사용해야 하는지... 파이썬에서는 딕셔너리라는 아주 좋은 해시 자료구조를 제..

2021.08.16 게시됨

자료구조 & 알고리즘/프로그래머스(programmers)

[programmers] 가장 긴 팰린드롬

https://programmers.co.kr/learn/courses/30/lessons/12904 코딩테스트 연습 - 가장 긴 팰린드롬 앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다. 문자열 s가 주어질 때, s의 부분문자열(Substring)중 가장 긴 팰린드롬의 길이를 return 하는 solution 함수를 완성해 주세요. 예를들 programmers.co.kr 이 문제는 문자열을 어떻게 쪼개고 비교할 것인가에 대한 문제였다. 처음에는 괄호 만들기처럼 스택에 넣고 하나하나 꺼내주면서 비교해주려고 했는데 그렇게 되면 가장 긴 팰린드롬을 구하기가 까다로워질 거 같아서 그냥 2중 for문으로 비교했다. 첫 번째 for문으로는 i를 주어진 문자열 길이 만큼 돌려주면서 j로는..

2021.07.30 게시됨