코딩테스트 128
-
문제 풀이#includeusing namespace std;int main() { int N; cin >> N; int line = 1; while (N > line) { N -= line; line++; } if (line % 2 == 1) { cout 메모규칙 찾기가 까다로운 문제여서 다른 분들의 포스팅을 보면서 깨달음을 얻었다.1. 등차수열을 사용해 푼다2. 짝수일 때는 분자가 1씩 늘어나고, 분모는 1씩 줄어든다 홀수일 때는 분자가 1씩 줄어들고, 분모는 1씩 증가한다이 2개의 규칙만 알면 전체 코드의 구조는1) 입력받은 값이 몇번째 라인에 속하는지 구하는 코드 2) 해당 라인이 오름차순으로 정렬되는지, 내림차순으로 정렬되는지 판별해서 최종 값을 출력하는 코드이렇게 2가지로 아주 간..
-
문제 풀이#include#includeusing namespace std;int main() { int N; // B진법 수 N int B; // B진법 string result = ""; cin >> N >> B; while (N != 0) { int temp = N % B; // 숫자라면 해당 문자에서 '0'을 더해 그 숫자에 해당하는 문자로 만듦 if (0 = 0; i--) { cout 메모2745번 진법 변환 문제와 반대 개념으로 풀어야 하는 문제다.https://risehyun.tistory.com/452> N >> B; cout 이 때 stoi 함수는 다음과 같이 구성된다.int stoi(c" data-og-host="risehyun.tistory.com" data-og-source..
-
문제 풀이#include using namespace std;int main(){ int arr[101][101] = { 0 }; int n = 0; int count = 0; cin >> n; for (int i = 0; i > startX >> startY; for (int y = startY; y 메모가로, 세로의 크기가 각각 100이라고 했으므로 y가 101, x가 101인 2차원 배열을 사용했다.색종이의 넓이를 체크하기 위해서 색종이가 있는 부분은 1, 없는 부분은 0으로 가정하고 카운팅해주었다.카운팅은 색종이의 가로 세로 길이는 각각 10이므로 입력받은 x의 시작값, y의 시작값에서 10씩 더해준 값까지 순회하며 체크하는 방식을 사용했다. 현재 체크하려는 배열에 색종이가 없는 경우(값이 ..
-
-
문제 풀이#include using namespace std;int main(){ string alphabet[8] = { "c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z=" }; string input = ""; int result = 0; cin >> input; for (int i = 0; i 메모크로아티아 알파벳이 2글자로 구성되어 있으므로, input 받은 문자열에 대해서 for문을 돌며 알파벳의 첫번째에 해당하는 값이 i에 올때 i+1번에 =,-등이 있는지 확인하는 방식으로 푸는 방법도 있지만 string의 find 기능을 사용하면 if문을 길게 사용해 모든 조건을 검사하지 않아도 빠르게 해결되기 때문에 이와 같은 방식을 사용했다. replace를 해주는 이..
-
문제 풀이1. 라이브러리에 내장된 reverse 함수를 사용하는 풀이#include using namespace std;int main(){ int n = 0, m = 0, start = 0, end = 0; int bucket[101] = { 0 }; cin >> n >> m; for (int k = 0; k > start >> end; reverse(bucket + start, bucket + end + 1); } for (int i = 1; i 풀이 2. i는 증가하고 j는 감소하면서 서로 교차하는 인덱스의 규칙에 swap을 사용하는 방법#include using namespace std;int main(){ int N, M; cin >> N..
-
-