본문 바로가기

전체 글56

[Java] SWEA1208_Flatten https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV139KOaABgCFAYh SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com [입력] (테스트케이스 중 1개의 예시) 834 42 68 35 1 70 25 79 59 63 65 6 46 82 28 62 92 96 43 28 37 92 5 3 54 93 83 22 17 19 96 48 27 72 39 70 13 68 100 36 95 4 12 23 34 74 65 42 12 54 69 48 45 63 58 38 60 24 42 30 79 17 36 91 43 89 7 41 4.. 2022. 3. 16.
[Java] SWEA2001_파리퇴치 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PzOCKAigDFAUq SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 입력으로 주어진 N*N배열안에 M*M크기의 파리채를 내려쳐 가장 많은 파리를 죽이는 경우를 찾는 문제 [입력] 5 2 1 3 3 6 7 8 13 9 12 8 4 16 11 12 6 2 4 1 23 2 9 13 4 7 3 [출력] #1 49 [풀이] 다중for문을 돌려 풀었다. => N*N의 위치를 정하는 이중for문 + 그 위치에서 M*M을 탐색하여 더하는 이중for문 public class swe.. 2022. 3. 16.
[Java] 부분집합(Subset) 부분집합(Subset) 부분집합 : 한 집합에 포함될 수 있는 모든 집합들, 부분집합의 수는 2의n승이다. [입력] 3 1 2 3 [출력] 1 2 3 1 2 X 1 X 3 1 X X X 2 3 X 2 X X X 3 X X X [변수] - N : 존재하는 원소의 수 - input : 존재하는 원소들을 담고있는 배열 - isSeletcted : 선택된 수의 정보를 표시하는 배열 - cnt : 뽑은갯수를 파악하기 위한 인자값 [풀이] 재귀로 구현하였다. 모든 원소에 대해 뽑는경우, 안뽑는 경우로 돌린다. 처음에는 마지막까지 다 뽑으므로 input배열 [1,2,3]에 대하여 isSelected배열이 [true,true,true]가 될것이다. => 1,2,3 그리고 return되어 다시 마지막 3에 재귀에서 안뽑.. 2022. 3. 15.
[Java] 조합 조합 : 서로다른 N개의 원소에서 R개를 중복없이 순서에 상관없게 선택하는 것 ([1,2] 와 [2,1]은 같다) [입력] 4 2 1 2 3 4 [출력] [1, 2] [1, 3] [1, 4] [2, 3] [2, 4] [3, 4] [변수] - N, R : 존재하는 원소의 수, 뽑을 원소의 갯수 - input : 존재하는 원소들을 담고있는 배열 - numbers : 뽑은 원소들을 담고있는 배열 - cnt : 뽑은갯수를 파악하기 위한 인자값 - start : 현재 뽑은수의 다음 수 부터 뽑기 위해 전달하는 인자값 조합은 순열과 달리 순서에 상관이 없으므로, 다음 수는 현재 뽑은값의 다음 수로 제한하면 중복을 방지할 수 있다. import java.util.Arrays; import java.util.Scann.. 2022. 3. 14.
[Java] 순열 순열 : 서로다른 N개의 원소에서 R개를 중복없이 순서에 상관있게 선택하는 것 [입력] : 4개 원소(1,2,3,4)중에서 2개뽑기 4 2 1 2 3 4 [출력] [1, 2] [1, 3] [1, 4] [2, 1] [2, 3] [2, 4] [3, 1] [3, 2] [3, 4] [4, 1] [4, 2] [4, 3] [변수] - N, R : 존재하는 원소의 수, 뽑을 원소의 갯수 - input : 존재하는 원소들을 담고있는 배열 - numbers : 뽑은 원소들을 담고있는 배열 - isSeletcted : 중복을 방지하기 위해 선택된 수의 정보를 표시하는 배열 - cnt : 뽑은갯수를 파악하기 위한 인자값 [풀이] 재귀를 이용해서 순열을 구현한다. 첫번째 원소부터 마지막원소까지 접근할 수 있어야 하므로, 반복.. 2022. 3. 14.
[Java] SWEA1289_원재의메모리복구하기 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV19AcoKI9sCFAZN SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 원재가 컴퓨터를 만지다가 실수를 저지르고 말았다. 메모리가 초기화된 것이다. 다행히 원래 메모리가 무슨 값이었는지 알고 있었던 원재는 바로 원래 값으로 되돌리려고 했으나 메모리 값을 바꿀 때 또 문제가 생겼다. 메모리 bit중 하나를 골라 0인지 1인지 결정하면 해당 값이 메모리의 끝까지 덮어씌우는 것이다. 예를 들어 지금 메모리 값이 0100이고, 3번째 bit를 골라 1로 설정하면 0111.. 2022. 3. 12.