코딩테스트/백준
-
(10798) 세로읽기 (c++)코딩테스트/백준 2024. 2. 8. 23:01
1. 문제 10798번: 세로읽기 (acmicpc.net) 10798번: 세로읽기 총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’ www.acmicpc.net 2. 풀이 1. 5줄 반복, 15줄 반복하고, 빈 부분은 공백으로 처리한 상태로 vector v 채우기 2. v 하나씩 answer에 push_back 해주면서 진행, 공백이면 continue 3. 생각 자꾸 break랑 continue랑 헷갈린다. 공부하기 shin0112/BOJ_cpp: BOJ c++ solutions (github.com)
-
(02566) 최댓값 (c++)코딩테스트/백준 2024. 2. 8. 22:06
1. 문제 2566번: 최댓값 (acmicpc.net) 2566번: 최댓값 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다. www.acmicpc.net 2. 풀이 1. 9 * 9 행렬 값 개별 int로 받기 2. 검사하면서 maxi랑 비교 maxi보다 클 경우 maxi 변경, col, row에 값 저장 작은 경우 모든 값 그대로 shin0112/BOJ_cpp: BOJ c++ solutions (github.com)
-
(25206) 너의 평점은 (c++)코딩테스트/백준 2024. 1. 30. 23:49
1. 문제 25206번: 너의 평점은 (acmicpc.net) 25206번: 너의 평점은 인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다! 치 www.acmicpc.net 2. 풀이 1. map으로 학점 매칭 2. m에서 학점 점수 찾고 과목 평점과 곱 3. 곱 다 더해서 학점의 총합으로 나누기 shin0112/BOJ_cpp: BOJ c++ solutions (github.com)
-
(02941) 크로아티아 알파벳 (c++)코딩테스트/백준 2024. 1. 30. 23:26
1. 문제 2941번: 크로아티아 알파벳 (acmicpc.net) 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 2. 풀이 1. 크로아티아 알파벳 경우의 수를 전부 고려 → if문으로 조건 결정 2. 크로아티아 알파벳이면 알파벳 개수를 1개로 보고 총 문자열 개수 확인 shin0112/BOJ_cpp: BOJ c++ solutions (github.com)
-
(01316) 그룹 단어 체커 (c++)코딩테스트/백준 2024. 1. 30. 23:24
1. 문제 1316번: 그룹 단어 체커 (acmicpc.net) 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 2. 풀이 1. 문자 연속이 끝나는 지 확인하는 벡터 check 생성 s[i] == s[i + 1] 인지 확인하고, 다르면 check[s[i] - 'a'] = 1으로 변경 2. check 확인해서 문자가 다른데, 1이면 그룹 단어가 아님 shin0112/BOJ_cpp: BOJ c++ solutions (github.com)
-
(10988) 팰린드롬인지 확인하기 (c++)코딩테스트/백준 2024. 1. 27. 22:52
1. 문제 10988번: 팰린드롬인지 확인하기 (acmicpc.net) 10988번: 팰린드롬인지 확인하기 첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다. www.acmicpc.net 2. 풀이 1. 받은 input index i랑 size-i 비교해서 다르면 false로 변경 후 출력 shin0112/BOJ_cpp: BOJ c++ solutions (github.com)
-
(02444) 별 찍기 - 7 (c++)코딩테스트/백준 2024. 1. 27. 22:39
1. 문제 2444번: 별 찍기 - 7 (acmicpc.net) 2444번: 별 찍기 - 7 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net 2. 풀이 1. 2 * N - 1번 반복하기 위해서 for문 2개 작성 1부터 N까지 N + 1부터 2 * N - 1까지 2. 조건에 맞게 ' '과 '*' 출력 3. 생각 별이 늘어나고 줄어드는 것을 대칭 삼아서 for문을 2개 만들어서 작성했는데, 그런 식으로 작성하는 것이 아니라 다른 방법도 알게되었다. 음수로 받고 절댓값을 사용해서 공백과 별의 개수를 조절하는 방식이었다. 생각만 잘하면 훨씬 더 짧고 세련된 코드로 만들 수 있다고 생각한다. shin0112/BOJ_cpp: BOJ c++ solutions (github.c..
-
(03003) 킹, 퀸, 룩, 비숍, 나이트, 폰 (c++)코딩테스트/백준 2024. 1. 27. 03:17
1. 문제 3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰 (acmicpc.net) 3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰 첫째 줄에 동혁이가 찾은 흰색 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수가 주어진다. 이 값은 0보다 크거나 같고 10보다 작거나 같은 정수이다. www.acmicpc.net 2. 풀이 1. vector 2개 만들기 correct : 정상 구성 피스 값 저장 v : 정상에서 입력 값 뺀 값 저장 2. v 출력 shin0112/BOJ_cpp: BOJ c++ solutions (github.com)