코딩 테스트/프로그래머스98 수박수박수박수박수박수? 첫번째 코드 2로 나누어 생각하면 좋을 것 같다.2로 나누어 떨어지면 '수박'을 2로 나눈 몫만큼 반복하고나누어 떨어지지 않으면 '수박'을 2로 나눈 몫만큼 반복한 후 '수'를 추가한다. def solution(n): answer = '수박' if n % 2 == 0: return answer * (n//2) else: return answer * (n//2) + answer[0] 링크https://github.com/ornni/programmers/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/1/12922.%E2%80%85%EC%88%98%EB%B0%95%EC%88%98%.. 2024. 6. 30. 구명보트 첫번째 코드 순서대로 정렬한 후에 index1 = 처음부터 시작하는 indexindex2 = 마지막부터 시작하는 index그렇게 index1의 값과 index2의 값을 더해 limit보다 크면 index1은 그대로 누고 index2 -= 1이면서 answer += 1 index1의 값과 index2의 값을 더해 limit보다 작으면 index1 += 1, index2 -= 1를 적용한다. 이는 최대 2명까지만 보트에 탑승이 가능하기 때문에 가능한 것이다. def solution(people, limit): answer = 0 people.sort() index1 = 0 index2 = len(people) - 1 while index1 .. 2024. 6. 15. 두 정수 사이의 합 첫번째 코드 해당 범위의 값을 answer에 더해주면 된다.이때 유의할 것이 2가지가 있는데,- a와 b값을 정렬할 것- 인덱싱에 주의할 것 def solution(a, b): answer = 0 c = min(a, b) d = max(a, b) for i in range(c, d+1): answer += i return answer 통과!링크https://github.com/ornni/programmers/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/1/12912.%E2%80%85%EB%91%90%E2%80%85%EC%A0%95%EC%88%98%E2%80%85%EC%82%A.. 2024. 6. 12. 문자열 다루기 기본 첫번째 코드 먼저 문자열의 길이가 4 또는 6이어야 한다.다음으로 모두 숫자로 구성되어 있는지 확인한다.isdigit()함수로 이를 확인할 수 있다. def solution(s): answer = False if len(s) == 4 or len(s) == 6: answer = True for i in s: if not i.isdigit(): answer = False break return answer 통과!링크https://github.com/ornni/programmers/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%.. 2024. 6. 10. 행렬 테두리 회전하기 첫번째 코드 해당 문제를 보고 처음에는...어...난해했다..!!어떻게 풀지...? 미뤄지는 알고리즘이 있나...?!어..그래 뭐 일단 풀어보자!!! 라는 마인드로 시작했다. 일단 row와 col로 구성된 숫자 matrix를 만들었다!이때 queries에 맞게 구성하기 위해 0번 인덱스에는 모두 0을 넣었다. 어떻게 풀었는지 고민하다가 움직이는 함수를 만들어야겠다~ 라는 생각을 했다!해당 함수 설명을 위해서는 그림이 필수일 것 같다!move라는 함수를 생성했다!해당 함수는 아래 그림과 같은 역할을 한다.이를 통해 새로운 numbers matrix와 움직인 값 중 최소값을 반환한다! move 함수를 queries만큼 반복하면 계속 numbers matrix는 갱신되고 answers에 최소값을 append하.. 2024. 6. 9. 둘만의 암호 첫번째 코드 하나씩 알파벳을 미뤄보면서 skip안에 해당 알파벳이 있는 경우에 해당 개수만큼 추가로 더 밀어버린다. def solution(s, skip, index): answer = '' skip_count = [0] * len(s) for i in range(len(s)): for j in range(1, index + 1): alpha = chr((ord(s[i]) + j - ord('a')) % 26 + ord('a')) if alpha in skip: skip_count[i] += 1 for i in range(len(s)): answer += chr((ord(s[i.. 2024. 6. 8. 이전 1 2 3 4 5 6 7 8 ··· 17 다음 728x90