전체 글

공유 문화가 좋아 운영하는 블로그입니다. 개발, 컴퓨터 활용법, 기술/자기계발 도서의 서평을 주로 다룹니다.
문자열의 정의 문자의 나열 문자열의 입출력 큰따옴표 혹은 작은따옴표로 입력하고, print()를 통해 출력합니다. #입출력 예시 1 print(""안녕하세요"를 입력합니다.") "안녕하세요"를 입력합니다. #입출력 예시 2 print('"안녕하세요"를 입력합니다.') "안녕하세요"를 입력합니다. #입출력 예시 3 print("\"안녕하세요\"를 입력합니다.") "안녕하세요"를 입력합니다. #입출력 예시 4 print(''안녕하세요'를 입력합니다.') '안녕하세요'를 입력합니다. #입출력 예시 5 print("'안녕하세요'를 입력합니다.") '안녕하세요'를 입력합니다. #입출력 예시 6 print('\'안녕하세요\'를 입력합니다.') '안녕하세요'를 입력합니다. #입출력 예시 7_여러 문자열 만들기 pri..
https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 문제의 키 포인트 1. d(75) = 75+7+5 = 87 과 같은 식으로 나아간다는 규칙. 2. 최종 수는 10000보다 작다는 점. 소스코드(SourceCode) #include #include #define N 10001 // 10000보다 작은 수 이므로 int self_number(int n); // 셀프넘버 함수 선언 bool arr[N..
https://www.acmicpc.net/problem/15596 15596번: 정수 N개의 합 C++17, Java 8, Python 3, C11, PyPy3, C99, C++98, C++11, C++14, Python 2, PyPy2, Go, C99 (Clang), C++98 (Clang), C++11 (Clang), C++14 (Clang), C11 (Clang), C++17 (Clang) www.acmicpc.net 문제의 키포인트 1. 함수 작성하기 함수: long long sum(int *a, int n) 2. n: 합을 구해야 하는 정수의 개수 1
https://www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net 이번 문제는 학생들의 점수를 입력받아 평균을 구한 뒤, 이 중 평균을 넘는 학생의 비율을 구하는 것입니다. 문제의 키 포인트 1. 이전 문제와 동일하게 첫째 줄에는 테스트 케이스의 개수를 입력받는 점. 2. 둘째 줄에는 각 테스트 케이스마다 학생의 수와 함께 점수가 주어진다는 점. 3. 학생의 수 N의 범위는 1
https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net 이번에 풀어볼 문제는 8958번의 OX퀴즈입니다. 문제의 키포인트 1. 연속된 O의 경우 1씩 수가 증가하고, X일 때는 0으로 초기화된다. 2. 첫째 줄에는 테스트 케이스의 개수가 주어진다. 3. 각 테스트 케이스는 0보다 크고 80보다 작은 문자열이다. 해결방안 1. 테스트 케이스 개수를 받아올 변수를 선언해줍니다. 2. 연속된 수를 카운트할 변수를 선언해줍니다. 3. 총합..
https://www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 이번 문제는 평균조작하기 문제입니다. 문제의 키 포인트 1. 첫번째 줄에 시험 본 과목의 개수 N을 입력받는다. 2. 두번째 줄에 각 과목별 점수를 입력받는다. 3. 과목별 점수 중 최대값을 이용하여 새로운 평균을 계산한다. 4. 방법은 모든 기존 점수들을 기존 점수 = 기존 점수/최대값*100 으로 교체한 후 평균을 계산한다. 5. 평균은 소수점 자리까지 나와야 하므로 정수형이 아닌 실수형..
https://www.acmicpc.net/problem/3052 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 문제의 키 포인트 1. 입력받은 수를 42로 나눈다는 점 해결 방안 1. 입력받은 수를 42로 나눠서 해당 배열을 카운트한다. 2. 나누기: 'A/B' , 나머지: 'A%B' 3. 각 배열에서 카운트가 1보다 크다면 최종 서로 다른 나머지를 카운트한다. 소스코드 #define _CRT_SECURE_NO_WARNINGS #include #define arr_size 42 #define count_size 10 int main(void) { int i, number; /..
https://www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. www.acmicpc.net 문제의 키 포인트 1. 문제를 잘 읽어야 한다. (필자는 처음에 각 주어지는 숫자마다 개수를 구하는 것이라고 착각했었음) 2. 주어지는 자연수 3개를 곱한 뒤 해당 값에서 각 자리에 쓰인 숫자 수를 구하는 것 해결방안 1. 우선 수를 받아올 변수들을 선언해주어야 한다. 2. 받아온 수를 곱해서 최종 변수에 저장해야 한다. 3. 최종 변수를 가지고 각 자리 수에 사용된 수를 카운트한다. Hint: 1234= 1*1000+2*100+3*10+4*1 4. ..
PatienceLee
PatienceLee