분류 전체보기
-
옹알이 (2)코딩테스트 연습 2023. 11. 18. 10:44
내가 생각한 방식으로 풀려고 하니까 for문이 너무 많이 중첩된다.. 그래서 다른 사람 풀이를 참고를 해봤다. 일단 옹알이 (1) 코드를 확인을 해봤고, 옹알이 (2) 에서는 추가 조건이 있기 때문에 그건 옹알이 (1) 코드에 내가 추가를 하는 걸로! 문제 설명 제한사항 입출력 예 및 설명 문제 풀이 def solution(babbling): answer = 0 # 연속은 불가 옹알이list = ["aya", "ye", "woo", "ma"] for word in babbling: # 만들고 싶은 단어 check=True # 옹알이로 단어를 완성할 수 있는지 확인하는 변수. 단어 완성할 수 없다면 False로 넣어줄 예정 for 옹알이 in 옹알이list: # ↓ 옹알이를 연속해서 사용할 수 없기 때문에..
-
문자열 나누기코딩테스트 연습 2023. 11. 17. 11:38
문제 설명 제한사항 입출력 예 및 설명 내 풀이 def solution(s): answer = 0 true, false = 0,0 # s의 첫번째 문자열과 같으면 true, 다르면 false first_str = s[0] # s의 첫번째 문자열 for i, string in enumerate(s): if first_str == string: # s의 첫번째 문자열과 같으면 true에 1 증가 true += 1 else: # s의 첫번째 문자열과 다르면 false에 1 증가 false += 1 if true == false: # true와 false가 같다면(분리 조건) answer += 1 # 분리된 문자열 개수 1증가 true, false = 0,0 # true, false 초기화 if i == len..
-
개인정보 수집 유효기간(2023 KAKAO BLIND RECRUITMENT)코딩테스트 연습 2023. 11. 16. 11:49
문제설명 제한사항 입출력 예 및 설명 문제풀이1 import pandas as pd import datetime def solution(today, terms, privacies): answer = [] idx = 0 dict = {} for t in terms: dict[t[0]] = t[2:] for priv in privacies: idx += 1 수집일자, 약관코드 = pd.to_datetime(priv[0:10]), priv[11:] 오늘일자 = pd.to_datetime(today) y, m, d = 수집일자.year, 수집일자.month, 수집일자.day ty, tm, td = 오늘일자.year, 오늘일자.month, 오늘일자.day priv_day = (y-1)*12*28 + (m-1)*2..
-
카드 뭉치코딩테스트 연습 2023. 11. 15. 10:23
문제 풀이1 def solution(cards1, cards2, goal): dict={} for i, c1 in enumerate(cards1): dict[c1] = i for j, c2 in enumerate(cards2): dict[c2] = j for idx in range(len(goal)-1): if dict[goal[idx]] > dict[goal[idx+1]]: answer='No' else: answer='Yes' return answer 채점결과1 어떤 부분에서 틀린 거였냐면, 나는 goal 문자열 index(카드 기준)가 뒤 index랑 비교했을 때 같거나 커야한다고 생각했음. 그러니까 앞, 뒤 문자열 인덱스를 비교했을 때 뒤에 있는 index가 작으면 break를 하고 No를 반환하..
-
둘만의 암호코딩테스트 연습 2023. 11. 14. 10:54
문제 설명 제한사항 입출력 예 및 설명 내 풀이 def solution(s, skip, index): answer = '' alpha = [chr(x) for x in range(97,123)] for rm in skip: alpha.remove(rm) alpha_dict = {} for idx, ch in enumerate(alpha): alpha_dict[ch] = idx check = True for ch in s: index += alpha_dict[ch] if index > alpha_dict['z']: index -= alpha_dict['z']+1 answer += alpha[index] index = 5 return answer 채점 결과 틀렸다.. 테스트 코드는 맞았는데... 뭐가 문제인..
-
대충 만든 자판코딩테스트 연습 2023. 11. 13. 11:49
문제 설명 제한 사항 입출력 예시 및 설명 내 풀이 def solution(keymap, targets): answer = [] dict={} for kmap in keymap: for i, k in enumerate(kmap): if k not in dict.keys(): dict[k] = [i] else: dict[k].append(i) cnt_list = [] for target in targets: cnt = 0 for k in target: if k not in dict.keys(): cnt = -1 break cnt += min(dict[k])+1 cnt_list.append(cnt) return cnt_list 처음에는 list로 풀려고 했는데, 그렇게 하면 for문이 너무 중첩이 돼서 시간..
-
-
달리기 경주코딩테스트 연습 2023. 11. 8. 12:45
문제 설명 제한사항(문제 풀 때 players의 길이가 긴 것을 고려해야함) 입출력 예시 및 설명 풀이1 def solution(players, callings): answer = [] org_list = players new_list = org_list.copy() for _, name in enumerate(callings): i = org_list.index(name) new_list[i-1] = org_list[i] new_list[i] = org_list[i-1] org_list = new_list.copy() return new_list 채점 결과 제한사항에 나와있는 players의 길이가 길어서 시간초과가 나는 것 같다. 풀이2 def solution(players, callings): an..