기몽수
코딩 기록일지
기몽수
전체 방문자
오늘
어제
  • 분류 전체보기 (443)
    • 알고리즘 - SWEA (210)
      • D1 (19)
      • D2 (25)
      • D3 (143)
      • D4 (21)
      • D5 (2)
    • 알고리즘 - Programmers (74)
      • Unrated (34)
      • Lv 0 (4)
      • Lv 1 (3)
      • Lv 2 (32)
      • Lv 3 (1)
    • 알고리즘 - Baekjoon (158)
      • Bronze (1)
      • Silver (65)
      • Gold (90)
      • Platinum (2)
    • 취업 (0)
    • SSAFY (1)
hELLO · Designed By 김용수.
기몽수

코딩 기록일지

알고리즘 - SWEA/D3

[SW expert Academy] SWEA 1240번 단순 2진 암호코드 자바(Java)

2023. 11. 8. 00:41

[D3] [S/W 문제해결 응용] 1일차 - 단순 2진 암호코드 - 1240

문제 링크

성능 요약

메모리: 21,268 KB, 시간: 151 ms, 코드길이: 1,540 Bytes

제출 일자

2023-11-08 00:39

출처: SW Expert Academy, https://swexpertacademy.com/main/code/problem/problemList.do

import java.util.*;
class Solution{
    public static void main(String args[]) throws Exception {
		Scanner sc = new Scanner(System.in);
		int T = sc.nextInt();
        HashMap<String, Integer> map = new HashMap<>();
        String[] nums = {"0001101", "0011001", "0010011","0111101","0100011","0110001","0101111","0111011","0110111","0001011"};
        for(int i = 0; i < nums.length; i++){
            map.put(nums[i],i);
        }
		for(int tc = 1; tc <= T; tc++) {
            int n = sc.nextInt();
            int m = sc.nextInt();
            String[] info = new String[n];
            for(int i = 0; i < n; i++){
                info[i] = sc.next();
            }
            int[] answer = new int[8];
            int count = 7;
            int even = 0;
            int odd = 0;
            for(int i = 0; i < n; i++){
                if(!info[i].contains("1")) continue;
                int idx = info[i].lastIndexOf("1") + 1;
                while(count != -1){
                    answer[count] = map.get(info[i].substring(idx - 7,idx));
                    if(count % 2 == 0){
                        odd += answer[count];
                    }else{
                        even += answer[count];
                    }
                    count--;
                    idx -= 7;
                }
                break;
            }
            int result = odd + even;
            if((odd * 3 + even) % 10 != 0){
                result = 0;
            }
            System.out.println("#" + tc + " " + result);
        }
	}
}

'알고리즘 - SWEA > D3' 카테고리의 다른 글

[SW expert Academy] SWEA 5607번 조합 자바(Java)  (0) 2023.11.08
[SW expert Academy] SWEA 4676번 늘어지는 소리 만들기 자바(Java)  (0) 2023.11.08
[SW expert Academy] SWEA 4615번 재미있는 오셀로 게임 자바(Java)  (0) 2023.11.07
[SW expert Academy] SWEA 1244번 최대 상금 자바(Java)  (0) 2023.11.07
[SW expert Academy] SWEA 9658번 유효숫자 표기 자바(Java)  (0) 2023.11.07
    '알고리즘 - SWEA/D3' 카테고리의 다른 글
    • [SW expert Academy] SWEA 5607번 조합 자바(Java)
    • [SW expert Academy] SWEA 4676번 늘어지는 소리 만들기 자바(Java)
    • [SW expert Academy] SWEA 4615번 재미있는 오셀로 게임 자바(Java)
    • [SW expert Academy] SWEA 1244번 최대 상금 자바(Java)
    기몽수
    기몽수

    티스토리툴바