본문 바로가기
728x90
반응형

코딩테스트9

[알고리즘] 해시 테이블, 해시 함수 이란? 해시 테이블 이해하기 해시 테이블은 컴퓨터 과학에서 중요한 데이터 구조로, 데이터를 저장, 검색 및 조작하는 효율성으로 인해 중요도가 높습니다. 뛰어난 랜덤 접근 기능을 통해 상수 시간에 작동할 수 있어서 데이터베이스 관리부터 언어 처리 알고리즘까지 다양한 분야에서 핵심적인 역할을 합니다. 해시 테이블의 작동 방식, 응용 분야 및 해싱 함수의 중요성을 자세히 이야기하겠습니다. 해시 테이블: 작동과 응용 해시 테이블의 핵심에는 "키"라고 불리는 고유 식별자를 기반으로 한 데이터를 저장하는 배열과 유사한 구조가 있습니다. 해시 테이블에서 수행되는 기본 작업을 자세히 알아봅시다. 1. 삽입 (Insert) 데이터를 해시 테이블에 삽입할 때는 해시 함수가 해당 데이터를 저장할 버킷을 결정합니다. 그런 다음 해당.. 2024. 2. 8.
[알고리즘] OX 퀴즈 리스트 내포 if else 반복문 eval 함수 프로그래머스 앞선 과정으로 이제 리스트 내포를 활용한 함수 생성에 익숙해지기 시작했다. 그리고 알지 못했던 eval 함수의 존재.. eval 함수는 코딩 테스트 시에는 사용하면 좋지만 실제 개발시에 굉장히 조심해서 사용해야 한다는 점. 기억해야 할 것이다. 그러나 코딩 테스트 때에 아래와 같은 O, X 문제 풀때 eval 함수를 사용하지 않는다면 하나 하나씩 split 해주고 분리해주어야 하기 때문에 잘 활용하는 것이 좋다. 그리고 리스트 내포. 정말 간결하게 짤수 있어서 좋다. def solution(quiz): result = ["O"if eval(i.split("=")[0]) == eval(i.split("=")[1]) else "X" for i in quiz ] return result 위의 코딩에서는 이전의.. 2024. 2. 3.
[알고리즘] n의 배수 고르기 리스트 내 반복문, 조건문 사용 프로그래머스 level 0 앞선 포스팅에서 리스트 내 반복문을 사용할 수 있다는 내용을 적어두었다. 그래서 코딩 할때 가급적 리스트의 결과를 리턴해야 할 경우에는 한번에 리스트내 반복문, 조건문을 사용하는 구조가 안되더라고 바꿔보기로 했다. 아래는 처음에 그냥 또 직관적으로 코딩 했던 것 def solution(n, numlist): result = [] for i, num in enumerate(numlist): if num % n == 0: result.append(num) print(result) return result 아래의 코드는 리스트 내 반복문, 조건문을 사용해서 문제를 해결했다. def solution(n, numlist): return [num for num in numlist if num % n == 0] 조금.. 2024. 2. 2.
[알고리즘] 2차원으로 만들기 리스트 내부에 반복문 함수 프로그래머스 level 0 이제는 좀 더 심화해서 리스트 내의 함수를 사용해서 불필요한 반복문을 줄여보기로 했다. 데이터 분석 및 모델링 시 데이터 전처리가 중요한 부분이나 그렇게 까지 신경쓰지 못했던 부분들이 있었다. 컴공 출신이 아니라 그런지 더더욱 교육의 부재가 크게 느껴졌다. 어떻게 하면 효율적으로 코딩할 수 있을지. 간결함 뿐만 아니라 시간 복잡도의 효율성을 고려해서 짜고 싶어졌다. 습관적으로 함수를 생성할 때, 변수를 만들고 또 새로운 리스트를 생성하고 생성하고 생성하고... 해서 for 문, if, else를 불필요하게 많이 사용했다. 그런데 최종적으로 리스트에 결과가 나오도록 하려면 리스트 내에 함수를 사용할 수 있다는 것을 알게 되어 2차원 만들기 코딩할때 도전해봤다. def solution(num_list, n).. 2024. 2. 1.
[알고리즘] 가위 바위 보 프로그래머스 level0 앞선 포스팅과 마찬가지로 직관적으로 짠 코드 정말 정직하게 짰구나.. # 가위 2 바위 0 보 5 def solution(rsp): result = [] for val in rsp: if val == '2': ans = '0' elif val == '0': ans = '5' else: ans = '2' result.append(ans) return ''.join(result) 다음번에는 피드백 받아서 최대한 간결하게 짜보도록! 2024. 1. 31.
[알고리즘] 대문자와 소문자 프로그래머스 level 0 문자열 my_string이 매개변수로 주어질 때, 대문자는 소문자로 소문자는 대문자로 변환한 문자열을 return하도록 solution 함수를 완성해주세요. def solution(my_string): result = [] for i in list(my_string): if i.isupper(): ans = i.lower() else: ans = i.upper() result.append(ans) answer = ''.join(result) return answer 나는 아직까지 그냥 직관적으로 짜는것 같다.. 좀더 통으로?? 짜고 싶은데 머리가 잘 안돌아가는... 다음번에는 다른 부분으로 변형해봐야겠다. 파이썬에 대문자 --> 소문자, 소문자 --> 대문자 자동으로 변환해주는 함수가 있었는지는 모르겠다.. 2024. 1. 30.
728x90
반응형