Algorithm101 수박수박수박수박수박수? 문제 설명 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한 사항 n은 길이 10,000이하인 자연수입니다. 해결 방법 1. n을 2로 나누고 '수박'을 곱한다. 2. n이 2로 나누어 떨어지는지 불린 값으로 확인한다. 3. 딕셔너리를 활용해 불린 키에 해당하는 값을 찾는다. 4. True일 경우 2로 나누어 떨어지므로 '수박'을 곱한 문자열을 그대로 반환한다. 5. False일 경우 나머지가 1이 남은므로 '수박'을 곱한 문자열에 '수'을 덧붙여 반환한다. def solution(n): text = n // 2 * '수박' bool_dict = .. 2022. 1. 29. 시저 암호 문제 설명 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀면 "a"가 됩니다. 문자열 s와 거리 n을 입력받아 s를 n만큼 민 암호문을 만드는 함수, solution을 완성해 보세요. 제한 사항 공백은 아무리 밀어도 공백입니다. s는 알파벳 소문자, 대문자, 공백으로만 이루어져 있습니다. s의 길이는 8000이하입니다. n은 1 이상, 25이하인 자연수입니다. 해결 방법 1. s문자열을 반복하여 나눈다. 2. 문자중에 대문자와 소문자가 있는 확인 후 분기한다. 3. 알파벳 인덱스를 확인하고 거기에 n을 더하고 알파벨 전체 길이를 뺀다. 4. .. 2022. 1. 27. 약수의 합 문제 설명 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. (12의 약수는 1, 2, 3, 4, 6, 12입니다. 이를 모두 더하면 28입니다.) 제한 사항 n은 0 이상 3000이하인 정수입니다. 해결 방법 1. n의 절반에 해당되는 수 만큼 반복을 돌린다. 2. n과 나누어 떨어지는 수들을 합한다. 3. 마지막으로 n을 합한다. (n의 절반을 나눠 반복하였으므로 약수 중에 하나인 n을 추가로 더해주어야 함) def solution(n): answer = sum([i for i in range(1, n // 2 + 1) if n % i == 0]) + n return answer 출처: 프로그래머스 코딩 테스트 연습, https://programmers... 2022. 1. 26. 이상한 문자 만들기 문제 설명 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. 제한 사항 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다. 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다. 해결 방법 1. 문자열을 단어로 쪼갠다. 2. 단어를 반복하며 홀수는 대문자, 짝수는 소문자로 바꾼다. 3. 단어를 공백과 함께 다시 합친다. def solution(s): answer = '' words = s.split(' ') for word in words: for i, s .. 2022. 1. 25. 자릿수 더하기 문제 설명 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한 사항 N의 범위 : 100,000,000 이하의 자연수 해결 방법 1. n을 이터러블한 문자열로 바꾼다. 2. 반복문을 통해 문자열을 리스트로 바꾼다. 3. 리스트의 요소들을 정수로 바꾼다. 4. 리스트의 요소들을 더해 합을 구한다. def solution(n): answer = sum([int(i) for i in str(n)]) return answer 2022. 1. 24. 2022년 4주차 '인턴십 종료' Weekly Work 4주간의 인턴십(기업 협업)이 종료되었다. 당시에는 시간이 너무 느리다고 생각했는데, 지금에 와서는 정말 빠르게 지나갔다는 생각이 든다. 아쉬운 게 참 많은 인턴십이었다. 내 실력이 좀 더 좋았다면 더 많이 배울 수 있었을 텐데.. 그 점이 가장 아쉽다. 내가 아는 지식이 협소하니 배울 수 있는 것에도 한계가 있었다. 내가 인턴을 하며 고민한 것들은 다음과 같다. 1. Cybos API는 어떻게 사용할 수 있는가? - 대신증권 예제코드와 비공식 문서를 참고하여 사용법을 익혔다. 2. Flask는 어떻게 사용할 수 있는가? - Flask 공식 튜토리얼을 통해 사용법을 익혔다. 3. Flask안에서 아키텍처는 어떻게 구현할 수 있는가? - '깔파탄백' 책을 따라 하며 레이어 아키텍처를 .. 2022. 1. 24. 이전 1 ··· 12 13 14 15 16 17 다음