본문 바로가기

알고리즘이야기/프로그래머스_알고리즘_lv117

행렬의 덧셈 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12950 코딩테스트 연습 - 행렬의 덧셈 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요 programmers.co.kr def solution(arr1, arr2): answer=[] for i in range(len(arr1)): result=[] for j in range(len(arr1[i])): result.append(arr1[i][j]+arr2[i][j]) answer.append(result) return answer 배열.. 2020. 5. 30.
하샤드 수 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12947 코딩테스트 연습 - 하샤드 수 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하� programmers.co.kr def solution(x): a=str(x) a=list(map(int, a)) if not x%sum(a): return True else: return False 입력값을 str로 바꿔준 후 list로 한 자리씩 나눈다. 그 후 하샤드 수 조건에 맞게 부울값을 반환해주면 된다! 2020. 5. 30.
문자열 다루기 기본 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12918 코딩테스트 연습 - 문자열 다루기 기본 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1 이�� programmers.co.kr 처음에 어렵게 풀려고 하면 상당히 어렵게 풀수도 있는 문제라고 생각한다. 하지만 그 전에!!!!!! 생각보다 python은 많은 것들을 제공해준다고 생각하자..! string.isdigit()을 하면 결과값이 부울값(true / false)으로 나오기 때문에 숫자로 이루어져있으면 true가 된.. 2020. 5. 24.
콜라츠 추측 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12943 코딩테스트 연습 - 콜라츠 추측 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2�� programmers.co.kr 이 문제도 간단한 문제다. while문을 잘 사용한다면 1이 될 때까지의 반복 횟수를 return 할 수 있다. tmi로 c++로 기초 문법을 배울 땐 while문보다 for문이 훨-씬 좋았다. 아무래도 자주 접하기 때문인지 for문 사용수가 높았고 while문을 기피하다시피 코드를 짰었는데 왜그랬을까,,,,,, .. 2020. 5. 17.
시저 암호 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12926 코딩테스트 연습 - 시저 암호 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 AB는 1만큼 밀면 BC가 되고, 3만큼 밀면 DE가 됩니다. z는 1만큼 밀면 a가 programmers.co.kr 이전에 파이썬 독학 시작하면서 초반에 아스키코드 변경 부분을 알게 되었다. 이후로 유용하게 쓰인다 ^____^ 여기서는 'z'에서 'a'로 바꿔주는 순서를 처음에 효율성이 떨어지도록 구현해놨더니 실행 실패했다,,,ㅠ 그래서 유용하게 쓰는 len(a)%i 이런 식으로 생각을 해보니 비슷하게 구현할 수 있을 것 같았다. 따라서 '.. 2020. 5. 17.
소수 찾기 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12921 코딩테스트 연습 - 소수 찾기 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 programmers.co.kr 에라토스테네스의 체만 안다면 금방 풀 문제다! 제곱근을 구해준 후 그 범위 내에서 해당 수를 제외한 그 수의 배수들은 모두 True->False로 바꿔주고 result에 추가해주면 소수만 구할 수 있다! 이전에는 직접 소수를 하나하나 구했지만 에라토스테네스의 체를 사용하니 매우 간단하다,, 시간도 덜 걸린다!! 백준에서는 .. 2020. 5. 16.
서울에서 김서방 찾기 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12919 코딩테스트 연습 - 서울에서 김서방 찾기 String형 배열 seoul의 element중 Kim의 위치 x를 찾아, 김서방은 x에 있다는 String을 반환하는 함수, solution을 완성하세요. seoul에 Kim은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. 제 programmers.co.kr 아주 간단한 문제다! range만 돌리면 끝..! def solution(seoul): for i in range(len(seoul)): if seoul[i] == "Kim": return (("김서방은 %d에 있다")% i) 2020. 5. 16.
모의고사 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 �� programmers.co.kr 문제를 처음 접했을 때, 문제 내용을 잘못 이해했었는지 조금 헤맸다,,, 특히 range 내 배열 범위를 질문 속에서 잘못 이해해버렸다ㅠ_ㅠ(코드 속 표시해놓았어요..!) 답이 계속해서 반복한다는 전제를 둬야한다..!! 따라서 해당 배열만큼 돌려가면서 답안을 작성해야 하고 맞춘 수를 바탕으로 가장 많은 문제를 맞힌 사람을 return 하면 된.. 2020. 5. 16.
문자열 내 p와 y의 개수 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12916 코딩테스트 연습 - 문자열 내 p와 y의 개수 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 programmers.co.kr 문제를 읽어보면 대소문자 구분이 없다고 했으니 모든 문자열을 소문자로 바꾸어서 p,y를 찾으면 된다. 유용하게 쓰이는 count를 사용해 문자열 개수를 구했다..! def solution(s): s=s.lower() #s를 모두 소문자로 바꿔줌 result=[] for i in.. 2020. 5. 11.