본문 바로가기
반응형

PS 문제 풀이/Baekjoon446

[BOJ] 백준 1551 수열의 변화 출처: https://www.acmicpc.net/problem/1551 Input 5 1 5,6,3,9,-1 Output 1,-3,6,-10 초기 배열에서 원소 변화가 누적되므로 별도 배열 할당 없이 원소값들을 K번 변경합니다. 단, 입/출력시 콤마(,)를 처리해주어야 합니다. 입력 시 출력 시 #include #include #include using namespace std; int N, K; string str, num; int arr[21]; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> N >> K; cin >> str; istringstream sin(str); int idx = 0; w.. 2021. 2. 26.
[BOJ] 백준 10991 별 찍기 - 16 출처: https://www.acmicpc.net/problem/10991 Input 4 Output * * * * * * * * * * 각 줄마다 특정한 규칙을 가지기에 따로 공간을 두지 않고 바로 별 형태를 출력. 각 줄의 양 끝 별의 위치를 left, right로 두면 아래 규칙을 만들 수 있습니다. ① left 이전까지는 공백을 표시합니다. ② left와 right 사이는 『*』 과 『공백』을 차례대로 출력 ※ left, right의 기준점을 n - 1 위치로 설정하여 점점 거리가 증가. left--; right++; ▶ [문제] BOJ 별 찍기 시리즈 [문제] BOJ 별 찍기 시리즈 [BOJ] 2438 별 찍기 - 1 [BOJ] 2439 별 찍기 - 2 [BOJ] 2440 별 찍기 - 3 [BO.. 2021. 2. 26.
[BOJ] 백준 10992 별 찍기 - 17 출처: https://www.acmicpc.net/problem/10992 Input 4 Output * * * * * ******* ▶ [n = 1] * 한 개 출력. ▶ [n > 1] - 크게 첫번째 줄 / 중간 구역 / 마지막 줄로 구분합니다. - 각 줄의 끝 별을 각각 left, right로 정의 (첫번째 줄은 left = right = n-1) ① 첫번째 줄: ▷ left 이전까지는 공백 출력하고 * 한개 출력 ② 중간 구역: ▷ left 이전까지는 공백 출력 후, 별 한개 출력 ▷ left 와 right 사이에 공백 출력 후 별 한개 출력 ③ 마지막 줄: ▷ left 부터 right 까지 별 출력 (※ 입력 받은 n = 2인 경우에는 첫번째 줄과 마지막줄만 존재.) ▶ [문제] BOJ 별 찍기.. 2021. 2. 26.
[BOJ] 백준 10995 별 찍기 - 20 출처: https://www.acmicpc.net/problem/10995 Input 4 Output * * * * * * * * * * * * * * * * - 홀/짝수번째 줄 구분하여 구현. - 짝수번째 줄의 경우 공백을 한번 출력합니다. (홀수번째는 처음에 공백이 존재 x) - 이어서, 『*』 와 『공백』을 n개씩 출력 ▶ [문제] BOJ 별 찍기 시리즈 [문제] BOJ 별 찍기 시리즈 [BOJ] 2438 별 찍기 - 1 [BOJ] 2439 별 찍기 - 2 [BOJ] 2440 별 찍기 - 3 [BOJ] 2441 별 찍기 - 4 [BOJ] 2442 별 찍기 - 5 [BOJ] 2443 별 찍기 - 6 [BOJ] 2444 별 찍기 - 7 [BOJ] 2445 별 찍기 - 8 [BOJ] 2446 별.. zo.. 2021. 2. 26.
[BOJ] 백준 10996 별 찍기 - 21 출처: www.acmicpc.net/problem/10996 Input 4 Output * * * * * * * * * * * * * * * * 첫번째, 두번째 줄이 n 번 반복되는 것을 확인가능합니다. ▶ 첫번째 줄의 경우 별들의 개수는 n - (n / 2) ex) n = 5일 때, 첫번째 줄의 별 개수 = 5 - (5 / 2) = 3 ▶ 두번째 줄의 경우 별들의 개수는 n / 2 ex) n = 5일 때, 두번째 줄의 별 개수 = 5 / 2 = 2 따라서 n = 5일 때, 출력 결과는 아래와 같습니다. ▶ [문제] BOJ 별 찍기 시리즈 [문제] BOJ 별 찍기 시리즈 [BOJ] 2438 별 찍기 - 1 [BOJ] 2439 별 찍기 - 2 [BOJ] 2440 별 찍기 - 3 [BOJ] 2441 별 찍기.. 2021. 2. 26.
[BOJ] 백준 10993 별 찍기 - 18 출처: https://www.acmicpc.net/problem/10993 Input 3 Output * * * * * ******* * *** * * * * ************* n이 증가함에 따라 별들의 모양을 분석하면 안쪽의 별들을 에워싸는 형태입니다. 그렇기에 별들의 메모리 공간을 잡아서 모양을 만든 후 출력. 삼각형의 높이 변화: 1 → 3 → 7 → 15 → 2n- 1 삼각형의 너비 변화: 1 → 5 → 13 → 29 → 2 * 높이 - 1 (1 ≤ n ≤ 10 이므로, 삼각형의 최대 높이 = 1023, 최대 너비 = 2045) ▶ 바깥쪽부터 시작해서 안쪽 삼각형을 채워갑니다. ▶ 각 삼각형의 시작점을 어떻게 알 수 있을까요? ① 초기값은 입력받은 n값과 삼각형의 높이를 이용해 쉽게 구할 .. 2021. 2. 26.
[BOJ] 백준 10997 별 찍기 - 22 출처: 출처: https://www.acmicpc.net/problem/10997 Input 2 Output ***** * * *** * * * * * * * * ***** 가로/세로 길이의 변화 (※ n = 1인 초기값 제외) (가로) 1 → 5 → 9 → 13 → 4(n-1) + 1 = 4n - 3 (세로) 1 → 7 → 11 → 15 → 가로 길이 + 2 재귀함수를 이용해서 구현합니다. 각 재귀함수의 시작점은 다음과 같습니다. 각 시작점에서 아래 과정으로 별을 그려나갑니다. ① 왼쪽으로 width만큼 별 그리기 ② 아래쪽으로 height만큼 별 그리기 ③ 오른쪽으로 width만큼 별 그리기 ④ 위로 height - 2 만큼 별 그리기 ⑤ 왼쪽으로 별 1개를 그립니다. ⑥ n > 3일 때는 위의 과정.. 2021. 2. 26.
[BOJ] 백준 10994 별 찍기 - 19 출처: www.acmicpc.net/problem/10994 Input 3 Output ********* * * * ***** * * * * * * * * * * * * * * * ***** * * * ********* 별들이 그려지는 규칙을 파악하여 구현하는 문제. Input data의 변화를 보면 쉽게 규칙을 확인할 수 있습니다. n ≥ 2인 경우 『*』 로 □ 형태로 둘러 싸인것을 확인할 수 있습니다. 바깥쪽 테두리부터 안쪽 테두리까지 재귀적으로 별을 그려나갑니다. [n = 3] - 각 테두리의 길이 len = 4 * (n - 1) + 1; - 좌측 상단 지점을 (x, y)를 기준점 설정 ① n = 3일 때, (0, 0)에서 길이 9의 테두리를 가집니다. len = 4 * (3 - 1) + 1 = .. 2021. 2. 26.
[BOJ] 백준 1405 미친 로봇 출처: https://www.acmicpc.net/problem/1405 Input 2 25 25 25 25 Output 0.75 로봇은 총 2번의 행동을 수행하며, 동서남북으로 움직이는 확률은 25%로 1/4 확률에 해당 Q. 2번의 움직임에서는 같은 곳을 재방문 하는 경우는 무엇일까? A. 동서 / 서동 / 남북 / 북남이 해당됩니다. Q. 반대로 재방문 하지 않는 경우는 무엇일까? 1. 동쪽으로 이동 후 (서쪽을 제외한) 동, 북, 남 → (1/4 * 1/4) + (1/4 * 1/4) + (1/4 * 1/4) = 3 / 16 2. 서쪽으로 이동 후 (동쪽을 제외한) 서, 북, 남 → (1/4 * 1/4) + (1/4 * 1/4) + (1/4 * 1/4) = 3 / 16 3. 남쪽으로 이동 후 (북쪽.. 2021. 2. 26.
[BOJ] 백준 1063 킹 출처: https://www.acmicpc.net/problem/1063 Input A1 A2 5 B L LB RB LT Output A1 A2 ① 주어진 명령에 따라 킹의 다음 이동 지점 확인 ② 체스판을 벗어나는지 확인 → 벗어난다면 해당 명령 무시 ③ 돌맹이가 있는지 확인 → 돌맹이가 존재한다면 돌맹이를 킹과 같은 방향으로 이동 가능한지 확인 → 돌맹이가 체스판을 벗어나는 경우 해당 명령어 무시 #include #include #include #include using namespace std; string dir[] = { "R", "L", "B", "T", "RT", "LT", "RB", "LB"}; int dx[] = {0, 0, -1, 1, 1, 1, -1, -1}; int dy[] = {1.. 2021. 2. 26.
반응형