목록알고리즘 (15)
고양이발일기

Problem Solving Process 보자마자 Dictionary를 활용하고 싶었던 문제였다. s에서 나온 문자를 t와 key-value로 매칭시켜 검사하고, s키값과 t 밸류 값이 다르면 false를 리턴하면 되겠다 싶은 문제였다. class Solution: def isIsomorphic(self, s: str, t: str) -> bool: iso_dic = {} for i in range(len(s)): if s[i] not in iso_dic: iso_dic[s[i]] = t[i] else: if iso_dic[s[i]] != t[i]: return False return True 하지만 문제가 있었으니!! s = "badc" t = "baba" 이 경우, { 'b' : 'b', 'a ':..

드디어 외주 일이 마무리 되었고 이제 알고리즘 겸 영어로 문제 푸는 연습을 시작해따 ~.~ Problem Solving Process 우선 처음 생각했던 과정은 처음부터 뒷 숫자를 검사하는 것이었다. 대충 노트를 하면서 풀었지만 내가 생각해도 너무 복잡한 과정이었고 조건문이 너무 많은 상황이었다. 그래서 다른 방법이 없을까 생각하다 나올 수 있는 경우의 수를 미리 나열하고 검사하자 였다. 우선, 메모리 제한을 두기 위해 첫번째 자리수가 될 수 있는 최대 길이는 s의길이 // 2 라는 것과, 나올 수 있는 s의 길이는 32이므로 만드는 경우의 수 자릿수를 32로 제한했다. def separateNumbers(s): s_length = len(s) max_first = s_length//2 possible..
지금 해빗프로젝트에서 7일간 뭐든 꾸준히 하기 챌린지를 하는 중이다 평소에 놓았던 알고리즘이나 시작해보자 해서 하는 챌린지 히히 이 문제를 택한 이유는 클래스101 코딩 인터뷰를 봤을 때 풀었던 문제랑 유사하기 때문에 그 때의 나를 기억하기 위해서 택했다. 문제 숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 가지고 있는지 아닌지를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,000,000보..