programmers 15

[Python][프로그래머스] 42842_카펫

Level 2 https://programmers.co.kr/learn/courses/30/lessons/42842 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 programmers.co.kr 더보기 문제 설명 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다. Leo가 본 카펫에서 갈색 격자의 수 brown, ..

[Python][Programmers] 기초문제_12915, 12910, 12906

- [12915] 문자열 내 마음대로 정렬하기 def solution(strings, n): strings.sort() li = sorted(strings, key = lambda x : x[n]) return li ### Idea: n번째인덱스 문자 + strings 를 정렬한 뒤에 1~ 문자열을 가져오는 방법 --> sorted(str, key=lambda x : 정렬기준) 을 통해 정렬 기준을 설정할 수 있음 - [12910] 나누어 떨어지는 숫자 배열 def solution(arr, divisor): answer = list(filter(lambda x : x%divisor == 0, arr)) answer = [-1] if len(answer) == 0 else answer return sort..

[Python][Programmers] 기초문제_12921, 12919, 12918, 12917, 12916

- [12921] 소수 찾기 def solution(N): li = [True for _ in range(2, N+1)] for idx, val in enumerate(li): i = idx+2 if val == False : continue for j in range(2,N): if i*j > N: break li[i*j-2] = False answer = filter(lambda x: x == True, li) return len(list(answer)) -> 에라토스테네스의 체 +++ 다른 사람 풀이 참고 def solution(N): nums = set(range(2, N+1)) for n in range(2, N+1): if n in nums: nums -= set(range(n*2, N+1, ..

[Java][Programmers]49191_순위

문제 설명 n명의 권투선수가 권투 대회에 참여했고 각각 1번부터 n번까지 번호를 받았습니다. 권투 경기는 1대1 방식으로 진행이 되고, 만약 A 선수가 B 선수보다 실력이 좋다면 A 선수는 B 선수를 항상 이깁니다. 심판은 주어진 경기 결과를 가지고 선수들의 순위를 매기려 합니다. 하지만 몇몇 경기 결과를 분실하여 정확하게 순위를 매길 수 없습니다. 선수의 수 n, 경기 결과를 담은 2차원 배열 results가 매개변수로 주어질 때 정확하게 순위를 매길 수 있는 선수의 수를 return 하도록 solution 함수를 작성해주세요. 제한사항 선수의 수는 1명 이상 100명 이하입니다. 경기 결과는 1개 이상 4,500개 이하입니다. results 배열 각 행 [A, B]는 A 선수가 B 선수를 이겼다는 의..

[Java][Programmers]12914_멀리 뛰기

문제 설명 효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는(1칸, 1칸, 1칸, 1칸)(1칸, 2칸, 1칸)(1칸, 1칸, 2칸)(2칸, 1칸, 1칸)(2칸, 2칸)의 5가지 방법으로 맨 끝 칸에 도달할 수 있습니다. 멀리뛰기에 사용될 칸의 수 n이 주어질 때, 효진이가 끝에 도달하는 방법이 몇 가지인지 알아내, 여기에 1234567를 나눈 나머지를 리턴하는 함수, solution을 완성하세요. 예를 들어 4가 입력된다면, 5를 return하면 됩니다. 제한 사항 n은 1 이상, 2000 이하인 정수입니다. 문제를 보고 3가지의 접근 방법으로 생각해보았다. 1. 중복순열? n칸을 이동할 때, 모두 1칸씩 이동한다면 총 n번의..