일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- c++
- HTML
- The Loard of BOF
- 풀이
- 숙명여자대학교 정보보안동아리
- hackerrank
- C언어
- 생활코딩
- SWEA
- lob
- 웹페이지 만들기
- 머신러닝
- WarGame
- 자료구조 복습
- BOJ
- BOJ Python
- siss
- Javascript
- CSS
- Sookmyung Information Security Study
- PHP 웹페이지 만들기
- 파이썬
- Python
- XSS Game
- 백준
- 숙명여자대학교 정보보안 동아리
- c
- 기계학습
- 드림핵
- hackctf
- Today
- Total
목록2020 SISS 21기 활동/2학기 C언어 (9)
혜랑's STORY
#SWEA 7272 : 안경이 없어! - 풀이 문자ㅇ에 나 있는 구멍의 개수가 같으면 같은 문자이고, 다르면 다른 문자라고 생각하기 때문에 각 문자열을 입력받아 문자열에 있는 구멍의 개수가 같으면 "SAME", 다르면 "DIFF"를 출력하면 되는 문제이다. (어디가 문제인지 모르겠지만 9619개 맞았다고 해서 통과 못함... 화난다...) - 코드 #include #include int main() { char arr[] = "ADOPQR"; int T; static char str1[100], str2[100]; scanf("%d", &T); for (int tc = 1; tc
#SWEA 8658번 : Summation - 풀이 10개의 수를 입력받고 각 자리 수의 합을 구한다. 10개의 자리 수의 합 중 가장 큰 값과 가장 작은 값을 출력하면 된다. 이때 자리 수의 합을 구하는 방법으로 while문을 사용하여 num이 0이 아닐때까지 result[i]값에 num을 10으로 나눈 나머지 즉, 일의 자리 수를 더하고 num을 10으로 나눠주는 것을 반복한다. - 코드 #include #include int main() { int T, num; scanf("%d", &T); for (int tc = 1; tc max) max = result[i]; if (min > result[i]) min = result[i]; } printf("#%d %d %d\n", tc, max, min)..
#SWEA 8888 : 시험 - 풀이 이 문제를 해결하기 위해 필요한 값은 ①문제 배점, ②각 참가자의 점수, ③각 참가자의 맞은 문제의 수 정도로 나눌 수 있을 것 같다. ①문제 배점 구하는 방법 - 문제의 배점은 해당 문제를 몇 명의 참가자가 틀렸는지 결정하게 된다. 즉, 각 참가자들의 정보를 입력받을 때 '0'을 입력받으면 문제 배점에 1을 더해주면 되는 것이다. ②각 참가자의 점수, ③각 참가자의 맞은 문제의 수 구하기 - 각 참가자의 점수를 구하는 것과 각 참가자의 맞은 문제의 수를 구하는 것은 동시에 진행할 수 있다. 각 문제를 맞췄다면 ①문제 배점에서 구해둔 점수를 해당 참가자의 점수표에 더하고, 맞춘 문제의 수를 1 증가시켜주면 된다. 문제가 길어서 어렵게 생각했지만 생각보다 어렵지 않은 ..
# SWEA 8104 : 조 만들기 - 풀이 이 문제의 핵심은 한 조당 1~N줄의 학생이 있다고 생각하고, 홀수 행일 때 순차적으로 숫자를 더해주고, 짝수일 때 역순으로 숫자를 더하는 것이다. - 코드 #include #include int main() { int T, N, K; scanf("%d", &T); for (int tc = 1; tc
# SWEA 8338 : 계산기 - 풀이 수를 입력받고 이전 값에 더한 값과 곱한 값 중 더 큰 값을 실행해주면 된다. (우선 순위를 고려하지 않고 왼쪽에서 오른쪽으로 차례대로 계산하기 떄문에 가능하다.) - 코드 #include #include int main() { int T, N; scanf("%d", &T); for (int tc = 1; tc max * num) max += num; else max *= num; } printf("#%d %d\n", tc, max); } return 0; } - 실행결과 # SWEA 8931 : 제로 - 풀이 이 문제를 쉽게 해결하기 위하여 STACK(스택) 개념을 이용하였다. *STACK이란? 컴퓨터에서 사용되는 기본 데이터 구조 중 하나로 데이터를 후입선출(..
# SWEA 10570 : 제곱 팰린드롬 수 - 풀이 1부터 1000 사이의 팰린드롬 수는 1, 4, 9, 121, 484 총 5개이다. 즉, 문제를 해결하기 위한 방법은 A와 B 사이에 팰린드롬 수가 총 몇개가 포함되는지 확인하면 되는 것이다. - 코드 #include int main() { int TC, A, B; scanf("%d", &TC); for (int tc = 1; tc
#SWEA 10059 : 유효기간 - 풀이 먼저 a와 b라는 변수를 만들어 입력받은 4자리를 각각 앞에 두 문자, 뒤에 두 문자로 구분지어 준다. 이후 a가 달의 조건(13보다 작고 0이 아니다.)을 만족하고 b 또한 달의 조건을 만족한다면 "AMBIGUOUS"를 출력하고 b가 달의 조건을 충족하지 못한다면 "MMYY"를 출력한다. 반대로 a가 달의 조건을 만족하지 못하고 b가 달의 조건을 만족한다면 "YYMM"이 되고 b 또한 달의 조건을 만족하지 못한다면 "NA"를 출력한다. 이 문제를 해결할 때 놓치기 쉬운 부분은 바로 월은 '0'이 될 수 없다는 사실이니 주의하여 문제를 해결해야한다. - 코드 #include int main() { int T, card; scanf("%d", &T); for (i..
#SWEA 10505번 : 소득불균형 - 풀이 N명의 사람의 소득을 입력받을 때, mean이라는 평균을 구하는 변수에 각 소득을 누적하여 저장한 뒤, 입력을 끝내면 mean/N을 통하여 평균 소득을 구한다. 그 뒤, 우리가 알고싶은 평균 이하의 소득을 가진 사람들을 알아보기 위하여 0으로 초기화된 cnt라는 변수에 p[i](i번째 사람의 소득)이 mean보다 작거나 같다면 1씩 더한다. 즉, cnt의 값이 평균 이하의 소득은 가진 사람들의 수가 되는 것이다. - 코드 #include #include int main() { int T, N; scanf("%d", &T); for (int tc = 1; tc = p[i]) cnt++; } printf("#%d %d", tc, cnt); } return 0; ..