자릿수 더하기 문제 - 문제 링크: 프로그래머스 풀이 import java.util.*; public class Solution { public int solution(int n) { int answer = 0; String num = String.valueOf(n); for(int index=0; index0){ answer+=n%10; if(n
프로그래머스: 소수 찾기 -> 링크 코딩테스트 연습 - 소수 찾기 | 프로그래머스 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 1000000이하의 자연수입니다. 입출력 예 n result 10 4 5 3 입출력 예 설명 입출력 예 #1 1부터 10 사이의 소수는 [2,3,5,7] 4개가 존재하므로 4를 반환 입출력 예 #2 1부터 5 사이의 소수는 [2,3,5] 3개가 존재 programmers.co.kr 이론 참고 : 2020/01/15 - [알고리즘_자료구조/이론정리] - 소수 구하기 - 에라토스테네스의 체 풀이 c++ #include #..
프로그래머스 소수 찾기 문제를 풀다가 최적의 알고리즘을 찾기 시작했다. 내가 푸는 방법으로는 실패가 떠서 찾기 시작했다. 에라토스테네스의 체 (Sieve of Eratosthenes) 라는 알고리즘을 공부 해보도록 하겠다. 위키백과에 설명이 잘 되어있다. 위의 그림처럼 1부터 120 사이에 소수를 구해보자! 소수는 1과 자기 자신으로만 나누어지는 수를 의미한다. ( 1은 소수가 아니다.) 2부터 120까지 표에 적어넣고 소수가 아닌것을 모두 체크 한다. 2는 소수이다. 그럼 2의 배수를 체크한다. 3은 소수이다. 그럼 3의 배수를 체크한다. 4는 2의 배수에서 체크했으니깐 제외 5는 소수이다. 그럼 5의 배수를 체크한다. 6은 2의 배수에서 체크했으니깐 제외 ........ 체크가 안된 수들이 소수이다...
2016 문제 - 문제 링크: 프로그래머스 풀이 func solution(_ a:Int, _ b:Int) -> String { var answer = ["THU", "FRI", "SAT", "SUN", "MON", "TUE", "WED"] var month = [31,29,31,30,31,30,31,31,30,31,30,31] var total = 0 var monthValue = a - 1 for index in 0.. monthValue { break } total += month[index] } total += b return answer[total % 7] } /* 2016년 1월 1일 금요일 1월 1일이 금요일 이고 배열은 0번째부터 시작이므로 1번째의 day값을 금요일로 맞춰서 저장해 놓았다...
체육복 문제 - 문제 링크: 프로그래머스 풀이 func solution(_ n:Int, _ lost:[Int], _ reserve:[Int]) -> Int { var total = 0 var reserveValue = reserve.sorted() var lostValue = lost.sorted() for index in 0..
가운데 글자 가져오기 문제 - 문제 링크: 프로그래머스 풀이 func solution(_ s:String) -> String { var num = s.count var str = "" if num%2 != 0 { let i = s.index(s.startIndex, offsetBy: num/2) str.append(s[i]) return str } let one = s.index(s.startIndex, offsetBy: num/2-1) str.append(s[one]) let two = s.index(s.startIndex, offsetBy: num/2) str.append(s[two]) return str } func solution(_ s:String) -> String { if Array(s).c..