본문 바로가기

코딩65

[프로그래머스/Python] 하샤드 수 [프로그래머스/Python] 하샤드 수 ● 문제 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. ● 소스코드 def solution(x): answer = True h = sum([int(num) for num in str(x)]) if x % h == 0: answer = True else: answer = False return answer ● 풀이 특별한 알고리즘은 없다. x의 자릿수를 모두 더한 값 h로 x를 나누어 나머지를 확인하면 된다. * https://program.. 2021. 10. 3.
[프로그래머스/Python] x만큼 간격이 있는 n개의 숫자 [프로그래머스/Python] x만큼 간격이 있는 n개의 숫자 ● 문제 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. ● 소스코드 def solution(x, n): answer = [] for i in range(n): answer.append(x + (i*x)) return answer ● 풀이 특별한 알고리즘은 없다. 반복문을 사용하여 x만큼 간격이 있는 n개의 숫자를 answer 리스트에 추가하면 된다. * https://programmers.co.kr/learn/courses/30/lessons/12954 코딩테스트 연습 - x만큼.. 2021. 10. 3.
[프로그래머스/Python] 직사각형 별찍기 [프로그래머스/Python] 직사각형 별찍기 ● 문제 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. ● 소스코드 # n, m 입력받기 n, m = map(int, input().strip().split(' ')) # 가로가 n , 세로가 m 인 직사각형 출력하기 for i in range(m): print("*" * n) ● 풀이 특별한 알고리즘이 사용되지 않는 단순 구현 문제. 정수 2개를 입력받아 직사각형을 출력하면 된다. * https://programmers.co.kr/learn/courses/30/lessons/12969 코딩테스트 연습 - 직사각형 별찍기 이 문제에는 표준 입력으로 두.. 2021. 10. 3.
[BOJ 알고리즘] 1181 "단어 정렬" [BOJ 알고리즘] 1181 "단어 정렬" ● 문제 알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오. - 길이가 짧은 것부터 - 길이가 같으면 사전 순으로 ● 소스코드 #include #include #include #include using namespace std; struct word { char str[52]; }; word words[20005] = {}; bool compare(word i, word j) { if(strlen(i.str) > strlen(j.str)) { return false; } else if(strlen(j.str) > strlen(i.str)) { return true; } else { if(strcmp(i.str.. 2021. 6. 5.
[BOJ 알고리즘] 1018 "체스판 다시 칠하기" [BOJ 알고리즘] 1018 "체스판 다시 칠하기" ● 문제 지민이가 다시 칠해야 하는 정사각형의 최소 개수를 구하는 프로그램을 작성하시오. ● 소스코드 #include #include #include using namespace std; int main() { int n,m; scanf("%d %d",&n,&m); char str[51][51] = {}; for(int i=0; i 2021. 6. 5.
[BOJ 알고리즘] 9498 "시험 성적" [BOJ 알고리즘] 9498 "시험 성적" ● 문제 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오. ● 소스코드 #include #include #include using namespace std; int main() { int n; scanf("%d",&n); char answer; if(100 >= n && n>=90) { answer = 'A'; } else if(90 > n && n>=80) { answer = 'B'; } else if(80 > n && n>=70) { answer = 'C'; } else if(70 > n && n>=60) { answer = 'D'; } el.. 2021. 5. 18.