본문 바로가기

알고리즘/BOJ(C++)26

[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.
[BOJ 알고리즘] 8958 "OX퀴즈" [BOJ 알고리즘] 8958 "OX퀴즈" ● 문제 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다. "OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다. OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오. ● 소스코드 #include #include #include using namespace std; int main() { int n; scanf("%d",&n); for(int cur=0; cur 2021. 5. 18.
[BOJ 알고리즘] 3052 "나머지" [BOJ 알고리즘] 3052 "나머지" ● 문제 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오. ● 소스코드 #include #include using namespace std; int main() { int num[10] = {}; int count[42] = {}; for(int i=0; i 2021. 5. 18.
[BOJ 알고리즘] 2920 "음계" [BOJ 알고리즘] 2920 "음계" ● 문제 다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다. 1부터 8까지 차례대로 연주한다면 ascending, 8부터 1까지 차례대로 연주한다면 descending, 둘 다 아니라면 mixed 이다. 연주한 순서가 주어졌을 때, 이것이 ascending인지, descending인지, 아니면 mixed인지 판별하는 프로그램을 작성하시오. ● 소스코드 #include #include using namespace std; int main() { int num[9] = {}; for(int i=0; i 2021. 5. 18.