반응형

수학 21

[Lv.1] 부족한 금액 계산하기 [프로그래머스_코딩테스트] [수학] [10분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/82612 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr보유하고 있는 돈 money가 있고 놀이기구를 탈때마다 price에서 탄 횟수의 배수만큼 금액이 줄어든다고 할 때 count회 놀이기구를 탄다면 부족한 금액을 반환하는 문제. (단 부족하지 않은 경우 0 반환)🧠 나의 접근 방식과 시행착오6분에 푼 문제. 먼저 money가 int로 주어지지만 계속 줄어들기 때문에 언더플로우가 발생하는 케이스를 방지하기 위한 것과 결과를 long으로 반환해야 해서 먼저 long으로 변환시켜준다. 그러고 나서..

[Lv.1] 약수의 합 [프로그래머스_코딩테스트] [수학] [10분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/12928 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr숫자 n이 주어지고 해당 수의 약수의 합을 구하는 문제🧠 나의 접근 방식과 시행착오8분 정도 걸린 문제. 사실 그냥 단순하게 푼다고 하면 1~n까지 다 나눠봐서 약수를 다 더하면 되긴 한다. 다만 n이라는 숫자가 무지 크다면 걸리는 시간이 좀 더 걸리기 때문에 최적화를 고려해서 반복을 최소화하는 방식으로 풀이를 했다. 먼저 규칙상 약수는 쌍을 이루게 된다 (n의 제곱근을 빼면) 그 점을 이용해서 제곱근까지만 반복문을 돌린다. 그리고 쌍을 ..

[Lv.0] 숨어있는 숫자의 덧셈 (1) [프로그래머스_코딩테스트] [문자열, 수학] [10분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/120851 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문자열에 숫자와 알파벳이 섞여 있는데 이 때 숫자의 합을 구하는 문제🧠 나의 접근 방식과 시행착오3분 걸린 문제. 그저 문자열 안의 숫자를 더하면 된다. char.IsDigit()을 활용하는 부분과 int.Parse(c.ToString())를 쓰는 거 말고는 크게 별 건 없다. 지금 보면 int.Parse에 인자로 char도 줘도 되지 않나란 생각이 들기도../// /// 숨어있는 숫자의 덧셈 (1)/// https://school.pr..

[Lv.0] k의 개수 [프로그래머스_코딩테스트] [구현, 수학] [10분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/120887 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr숫자 i에서 j까지 하나씩 돌면서 k가 숫자에 들어간 개수를 더한 값을 반환하는 문제🧠 나의 접근 방식과 시행착오4분 걸린 문제. 일단 한 숫자에 k가 포함된 count를 계산하는 함수를 따로 빼서 정리하였다. (보통 하나의 함수 안에서 처리를 하려고 하면 코드가 정리가 안되거나 실수가 나오기 쉬워서 이런 문제의 유형에서는 자주 활용하는 편) 그 이후에는 그저 i부터 j까지 돌면서 더하기만 해주면 된다./// /// k의 개수/// ht..

[Lv.1] x만큼 간격이 있는 n개의 숫자 [프로그래머스_코딩테스트] [수학] [10분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/12954 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr정수 x가 있다고 할 때 x만큼 간격으로 n개가 있는 배열을 반환하는 문제🧠 나의 접근 방식과 시행착오4분 걸린 문제. 사이즈가 좀 큰 숫자여서 처리 방식에 대해서 좀 더 나은 것이 있을까 고민 하긴 했지만, 별달리 생각나지 않아서 정석대로 그냥 풀었다. 미리 n개의 long 배열을 동적할당해놓고 x를 더해가면서 늘려가는 방향. 지금 보니 start라는 변수도 필요 없긴 할 듯 하다. 0번째에 x를 넣고 그 뒤에 이전 거에서 계속 더해가면..

[Lv.1] 하샤드 수 [프로그래머스_코딩테스트] [수학] [10분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/12947 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr숫자 x의 자리수의 합으로 x가 나누어지는 경우 하샤드 수라고 하는데 이 때 x가 하샤드 수인지 체크하는 문제🧠 나의 접근 방식과 시행착오4분 걸린 문제. 자리수 계산을 해서 합을 구하는 문제는 종종 나오는 로직이라 익숙하게 풀었던 듯 하다./// /// 하샤드 수/// https://school.programmers.co.kr/learn/courses/30/lessons/12947/// public bool solution(int x){..

[Lv.1] 없는 숫자 더하기 [프로그래머스_코딩테스트] [수학] [10분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/86051 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr0~9까지의 숫자로 이루어진 numbers에서 없는 숫자의 합을 구하는 문제. 각 숫자는 다 다르다.🧠 나의 접근 방식과 시행착오9분 정도 걸린 문제. 아무래도 라이브 서비스나 게임을 개발하면서 dict를 주로 많이 다뤘어서 그런지 좀 익숙한 Dict로 풀었다. 다만 여러가지 방법이 있을 듯 한 문제../// /// 없는 숫자 더하기/// https://school.programmers.co.kr/learn/courses/30/lesson..

[Lv.1] 평균 구하기 [프로그래머스_코딩테스트] [수학] [10분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/12944 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr정수의 배열 arr이 있을 때 평균값을 반환하는 문제🧠 나의 접근 방식과 시행착오1분 정도 걸린 문제. 딱히 뭐 없다./// /// 평균 구하기/// https://school.programmers.co.kr/learn/courses/30/lessons/12944/// public double solution(int[] arr){ int sum = 0; foreach (var num in arr) { sum +..

[Lv.1] 음양 더하기 [프로그래머스_코딩테스트] [수학, 시뮬레이션] [15분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/76501 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr숫자들의 배열 absolutes와 부호가 들어있는 배열 signs가 주어질 때 실제 값들의 합을 구해서 반환하는 문제🧠 나의 접근 방식과 시행착오2분 걸린 문제. 말그래도 for문 돌면서 부호에 맞게 더하고 빼줬다./// /// 음양 더하기/// https://school.programmers.co.kr/learn/courses/30/lessons/76501/// public int solution(int[] absolutes, bool[..

[Lv.1] 두 정수 사이의 합 [프로그래머스_코딩테스트] [수학] [15분]

🔍 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/12912 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kra와 b 사이의 숫자들의 합을 모두 더한 값을 반환하는 문제🧠 나의 접근 방식과 시행착오3분 안에 푼 문제. 다만 더 빠르게 풀 수 있는 듯 하다./// /// 두 정수 사이의 합/// https://school.programmers.co.kr/learn/courses/30/lessons/12912/// public long solution(int a, int b){ long answer = a == b ? a : 0; if (..

반응형