여니의 취준 준비 253

[16935] 배열 돌리기 3 in Java

https://www.acmicpc.net/problem/16935 16935번: 배열 돌리기 3 크기가 N×M인 배열이 있을 때, 배열에 연산을 R번 적용하려고 한다. 연산은 총 6가지가 있다. 1번 연산은 배열을 상하 반전시키는 연산이다. 1 6 2 9 8 4 → 4 2 9 3 1 8 7 2 6 9 8 2 → 9 2 3 6 1 5 1 8 3 4 2 9 → www.acmicpc.net 접근 방식 시행 착오 - 3,4번 연산시 배열의 행과 열이 바뀔 수 있다는 걸 생각하지 못했음 행과 열이 바뀔 수 있으니 수시로 n,m을 갱신해줘야함 (refresh() 함수 이용) - 1,2번 연산시 새로운 newArray에 값을 담고, 깊은 복사를 통해 array에 다시 넣으려고 함. 그런데 temp 변수 하나만을 이..

[2563] 색종이 in Java

https://www.acmicpc.net/problem/2563 2563번: 색종이 가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 www.acmicpc.net 문제 요약 흰색 도화지 : 100 x 100 검은색 정사각형 크기 : 10 x 10 검은색 정사각형의 변과 흰색 도화지의 변이 평행하도록 붙인다. *** 색종이가 붙은 검은 영역의 넓이 구하기 *** 접근 방식 101 x 101 크기의 boolean 배열을 만들고 색종이의 위치를 기록하면서 색종이가 붙은 영역의 넓이를 구함 1234567891011121314151617181920212223242526..

[6808] 규영이와 인영이의 카드게임 in Java

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWgv9va6HnkDFAW0 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 접근 방식 1. - 처음에 규영이가 고른 카드를 제외한 9장의 카드를 inyeong이라는 배열에 보관 2. 인영이의 카드 배열 모든 순열 구하기 3. 인영이의 카드 배열 구한 다음, 규영이의 카드와 비교하여 이기는지 지는지 판단할 것 시행 착오 - permu함수 내에서 selectedInyeong의 인덱스를 cnt로 해야하는데 i로 해서 오류가 발생함.. cnt는 뽑은 수의 개수, 즉, permu함..

[9229] 한빈이와 Spot Mart in Java

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AW8Wj7cqbY0DFAXN SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 접근 방식 조합을 이용해서 2개의 과자를 선택했고 2개의 과자의 무게를 합한 값이 최대가 될때 answer에 계속 값을 넣어주는 방식으로 값을 갱신하여 원하는 값을 구함. 시행 착오 make 매개변수에 start라는 변수를 넣어줘야하는데 이 부분을 빼먹어서 270개의 테케중 203개만 맞았다... 그래서 다시 생각을 해보니 조합에서는 start 변수가 필요하다는 걸 기억해냈다. 맨날 순열, 조합 헷..

[1228] 암호문1 in Java

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14w-rKAHACFAYD&categoryId=AV14w-rKAHACFAYD&categoryType=CODE&problemTitle=1228&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 접근 방식 해당 문제에서는 배열의 길이가 가변적으로 변해야하므로 일반 배열이 아닌 ArrayList를 사용해야한다. x의 위치 바로 다음 위치에..

[1158] 요세푸스 문제 in Java

https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 접근 방식 : 원형이라는 단어를 보고 큐를 떠올렸음. 그래서 k번째에 있는 사람이 나오기 전까지 앞에 있는 사람을 poll()해서 offer()로 뒤에 다시 넣어주는 작업을 진행하면 되었던 문제 시행 착오 : 나온 결과값을 따로 answer이라는 배열에 넣어주려고 했다. 그런데, 그냥 StringBuilder를 이용해서 sb에 append해주면 굳이 배열을 이용할 필요가 없다는 걸 깨닫게 된 문제! BufferWriter를 사용하려고 했는데 StringBuilder가 성능이 더 빠르다고 ..

[2023] 신기한 소수 in Java

https://www.acmicpc.net/problem/2023 2023번: 신기한 소수 수빈이가 세상에서 가장 좋아하는 것은 소수이고, 취미는 소수를 가지고 노는 것이다. 요즘 수빈이가 가장 관심있어 하는 소수는 7331이다. 7331은 소수인데, 신기하게도 733도 소수이고, 73도 소수 www.acmicpc.net 1. 메모리 초과가 발생한 코드 HTML 삽입 미리보기할 수 없는 소스 2. 제곱근 범위 나누기법을 이용하여 해당 문제를 해결한 코드 HTML 삽입 미리보기할 수 없는 소스

[16926] 배열 돌리기 1 in Java

https://www.acmicpc.net/problem/16926 16926번: 배열 돌리기 1 크기가 N×M인 배열이 있을 때, 배열을 돌려보려고 한다. 배열은 다음과 같이 반시계 방향으로 돌려야 한다. A[1][1] ← A[1][2] ← A[1][3] ← A[1][4] ← A[1][5] ↓ ↑ A[2][1] A[2][2] ← A[2][3] ← A[2][4] A[2][5] www.acmicpc.net 접근 방식 1. 가장 바깥에 있는 테두리 -> 가장 안쪽에 있는 테두리 순으로 이동을 시작 : 테두리 개수는 Math.min(n,m) / 2 2. 이동하기 (참고) fn, en (현재 테두리의 첫행과 마지막행의 인덱스) fm, em (현재 테두리의 첫열과 마지막열의 인덱스) 를 이용함. - 맨 윗 줄 (..