본문 바로가기

코딩테스트19

행렬 테두리 회전하기 문제풀이 def solution(rows, columns, queries): answer = [] table = [[1 + i + x for i in range(0, columns)] for x in range(0, rows*columns, columns)] min_array = [] for query in queries[:]: for idx in range(0, 4): query[idx] = query[idx] - 1 min_value = table[query[0]+1][query[1]] key_1 = table[query[0]+1][query[1]] for point_x in range(query[1], query[3]): key_2 = table[query[0]][point_x] if key_2 <.. 2021. 5. 29.
음양 더하기 문제풀이 def solution(absolutes, signs): answer = 0 zip_num = zip(absolutes, signs) for absolute, sign in list(zip_num) : if sign: answer += absolute else: answer -= absolute return answer Level 1 문제여서 쉽게 풀었다. 알고리즘 zip() 2개 이상의 시퀸스를 인수로 취하여, 짧은 길이의 시퀀스를 기준으로 각 항목이 순서대로 새로운 튜플 시퀀스를 만든다. 출처 문제: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges 코딩테스트 연습 기초부터 차근차근, 직접 코드를 작성해 보세요. programmers.. 2021. 5. 29.
소수 찾기 문제풀이 def prime_number(number): # number를 입력 받아 소수인지 아닌지 구분하는 함수 # number가 1이 아니면, (1은 소수가 아님) if number != 1 and number != 0: # 2, 3, 4, ..., (number - 1)까지의 인수에 대해서 for f in range(2, number): # number가 위의 인수 중의 하나로 나누어지면, (나머지가 0이면) if number % f == 0: return False # 소수가 아님 else: # number가 1이라면, return False # 소수가 아님 # number가 1이 아니면서, 2부터 (number - 1)까지의 수로 나눠지지 않으므로 # 소수로 판별됨 (소수는 1과 자신만을 인수로.. 2021. 5. 28.
신규 아이디 추천 문제풀이 def solution(new_id): new_id = new_id.lower() new_id = list(new_id) for word in new_id[:]: if not (('a' 0: if new_id[-1] =='.': del new_id[-1] if len(new_id) > 0: if new_id[0] =='.': del new_id[0] if len(new_id) == 0: new_id.append('a') new_id = new_id[:15] if new_id[-1] =='.': del new_id[-1] last_word = new_id[-1] while(len(new_id) < 3): new_id.append(last_word) new_id = ''.join(new_id) an.. 2021. 5. 28.