개발/(4) 코딩테스트 144

프로그래머스 코딩테스트 Lv.0 등수 매기기

Lv.0 등수 매기기 문제 풀이 score를 리스트로 만들어서 sorted를 사용해 정렬합니다. 이후 index() 함수를 사용해서 위치를 찾아냅니다. 느낀점 index() 함수를 이해하게 되어서 좋았습니다. index() 함수는 중복된 값이 있을 때, 더 앞의 값을 기준으로 리턴해줍니다. 출처 : 프로그래머스 홈페이지, https://school.programmers.co.kr/

프로그래머스 코딩테스트 Lv.0 가까운 수

Lv.0 가까운 수 문제 풀이 절대값의 최솟값을 찾는 과정으로 코드를 작성했습니다. 다른 방식의 풀이인데 이해가 어려워서 가져왔습니다. def solution(array, n): array.sort(key = lambda x : (abs(x-n), x-n)) answer = array[0] return answer 느낀점 if 문을 한 줄로 작성할 때, 앞에 값이 지정되면 else 부분에 answer는 자동으로 지정이 되는 방식입니다. 출처 : 프로그래머스 홈페이지, https://school.programmers.co.kr/

프로그래머스 코딩테스트 Lv.0 369게임

Lv.0 369게임 문제 풀이 정수형 데이터를 문자열과 리스트를 사용해 변형시키고 if문을 활용하면 풀 수 있습니다. 아래와 같이 한줄로 깔끔하게 푸는 코드도 볼 수 있었습니다. return sum(map(lambda x: str(order).count(str(x)), [3, 6, 9])) 느낀점 한 줄 줄이는 것은 정말 어렵습니다. 출처 : 프로그래머스 홈페이지, https://school.programmers.co.kr/

프로그래머스 코딩테스트 Lv.0 영어가 싫어요

Lv.0 영어가 싫어요 문제 풀이 전부 replace 해주는 노가다로 풀었습니다. def solution(numbers): for num, eng in enumerate(["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]): numbers = numbers.replace(eng, str(num)) return int(numbers) 느낀점 코드가 너무 길어 마음에 들지 않았습니다. 잘하시는 분들의 코드를 보고 많이 배우게 됐습니다. enumerate는 for문과 함께 작동하고 리스트를 숫자와 함께 진행시키는 코드입니다. 출처 : 프로그래머스 홈페이지, https://school.programmers.co.kr/

프로그래머스 코딩테스트 Lv.0 약수 구하기

Lv.0 약수 구하기 문제 풀이 1부터 주어진 숫자까지 나머지가 없는 수들만 뽑아오는 과정입니다. 리스트 컴프리헨션을 이용할 때 if 절을 함께 쓰고 싶다면, for문 먼저 작성 후에 if 절을 작성하면 됩니다. answer = [i for i in range(1,n+1) if n%i == 0] 느낀점 if 절 혼합은 많이 유용해 보입니다. 다음에 꼭 활용해봐야겠습니다. Lv.0의 모든 문제를 올리기에는 문제의 난이도나 효율성이 떨어지는 거 같습니다. 몇개 문제만 간추려서 올리는게 좋을 듯 합니다. 출처 : 프로그래머스 홈페이지, https://school.programmers.co.kr/