본문 바로가기

SWEA/D2

(23)
[SWEA 1959][D2][JAVA] 두 개의 숫자열 [문제] https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PpoFaAS4DFAUq&categoryId=AV5PpoFaAS4DFAUq&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! www.swexpertacademy.com [풀이 방법] N이 M보다 작은 경우 / 같을 경우 / 큰 경우를 나누어 최대값을 구했습니다. A배열의 첫번째 인덱스를 기준으로 B 배열의 양 끝까지 움직이면서 최대값을 구하면 되므로, 총 M-N번 반복하여 A[1] 인덱스가 최대한 많은 B인덱스에 대입될 수 있도록 합니다. (M==5 이고 N==3 일..
[SWEA 1962][D2][JAVA] 숫자 배열 회전 [문제] https://swexpertacademy.com/main/code/problem/problemSolver.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! www.swexpertacademy.com [풀이방법] 90도 / 180도 / 270도를 회전 1,1 1,2 1,3 2.1 2.2 2.3 3.1 3.2 3.3 90도 회전 한 결과 3.1 2.1 1.1 3.2 2.2 1.2 3.3 2.3 1.3 180도 회전한 결과 == 90도 회전한 결과+ 90도 회전 3.3 3.2 3.1 2.3 2.2 2.1 1.3 1.2 1.1 270도 회전 == 180도 회전한 결과 + 90도 회전 1.3 2.3 3.3 1.2 2.2 3.2 1.1 2.1..
[SWEA 1974][D2][JAVA] 스도쿠 검증 [문제] https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5Psz16AYEDFAUq&categoryId=AV5Psz16AYEDFAUq&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! www.swexpertacademy.com [풀이방법] 가로 / 세로 / 3*3 중 하나라도 조건(1-9 중 하나의 숫자만 존재해야한다)이 맞지 않으면 그대로 검증을 끝내고 다음 스도쿠 검증으로 넘어갑니다. 일단 1~9 까지의 숫자가 이전에 있었는지 확인하기 위해 boolean 배열을 생성했습니다. 7 3 6 4 2 9 5 8 1 5 8 9 1..
[SWEA 1970][D2][JAVA] 쉬운 거스름돈 [문제] https://swexpertacademy.com/main/code/problem/problemSolver.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! www.swexpertacademy.com [풀이방법] 동전들의 가치를 정수형 배열에 저장한 후, N(거스름돈 총합) / 각 코인의 가치까지 감소시킵니다. 감소시킬 때마다 각 종류의 돈이 쓰이는 개수를 구해야 하기 때문에 따로 생성한 정수형 배열의 해당 순서의 코인 개수를 증가합니다. (dp = 각 코인이 쓰인 개수를 저장하는 정수형 배열) 처음에 거스름돈이 주어진 코인의 가치보다 작을 때만 계산을 해야하기 때문에 코인이 거스름돈보다 클 경우에는 다음 코인으로 넘어가도록했습니다...
[SWEA 1979][D2][JAVA] 어디에 단어가 들어갈 수 있을까 [문제] https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PuPq6AaQDFAUq&categoryId=AV5PuPq6AaQDFAUq&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! www.swexpertacademy.com [풀이방법] 쉽게 생각하면 가로 / 세로 나누어서 길이가 3이 되는 부분의 카운트를 가져오는 연산으로 해결할 수 있고, 저처럼 처음에 DFS에서 허덕이고 있다면 문제 푸는 시간이 길어질 수 있습니다. DFS로 할 경우 Depth가 3일 때 빠져나오는 건 좋지만 3이 되는 기준 지점을 찾기가 애매한 문제..
[SWEA 1976][D2][JAVA] 시각덧셈 [문제] https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PttaaAZIDFAUq&categoryId=AV5PttaaAZIDFAUq&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! www.swexpertacademy.com [풀이방법] 시간과 분을 순서대로 입력받아서 시간1 + 시간2 > 12 이면 [시간1 + 시간 - 12] 를 해서 저장하고, 분1 + 분2 >= 60 이면 [분1 + 분2 - 60] 을 하고 [시간 + 1]을 연산합니다. int H, M; if (H1 + H2
[SWEA 1984][D2][JAVA] 중간 평균값 매기기 [문제] https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5Pw_-KAdcDFAUq&categoryId=AV5Pw_-KAdcDFAUq&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! www.swexpertacademy.com [풀이 방법] 입력 받은 수들을 올림차순 혹은 내림차순으로 소트하고 맨 앞과 맨 뒤 원소를 제외한 수들을 모두 더해 평균을 구합니다. 평균은 Double로 해야 소수점 첫번째 자리에서 반올림이 가능하기 때문에 int가 아닌 Double로 선언한 후 평균을 더할 때 역시 int가 아닌 Double 형으로..
[SWEA 1983][D2][JAVA] 조교의 성적 매기기 [문제] https://swexpertacademy.com/main/code/problem/problemSolver.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! www.swexpertacademy.com [풀이방법] 중간(35%) / 기말(45%) / 과제 (20%) 비율을 계산해서 계산 결과를 Double 형 변수에 저장합니다. 학점을 알고 싶은 학생의 번호를 찾아가는 것이기 때문에 본래 받은 순서(출석 번호라고 간주)를 유지할 필요가 있습니다. 하지만 소팅을 해야 학점을 매길 수 있기 때문에 여기서 hashmap을 사용했습니다. HashMap 을 사용해서 학생의 번호와 계산한 결과값을 넣은 후 스태틱 메소드를 사용해서 소트해줍니다. ..