달마루
기획자에서 개발자로
달마루
전체 방문자
오늘
어제
  • 분류 전체보기 (334)
    • 기획 이야기 (3)
    • 개발자로 전향한 이유 (1)
    • Github Address (1)
    • 개발자, 그 여정 (11)
      • 기초특강 (4)
      • 국비학원 선정 (4)
      • BitCamp_수업내용 (1)
      • 학원 프로젝트 후기 (1)
      • 정보처리기사 (1)
      • 개발 이야기 (0)
    • 개념 창고 (126)
      • JAVA (50)
      • CS (1)
      • Database (27)
      • NetWork (2)
      • 자료 구조 (2)
      • React (8)
      • Spring (3)
      • JPA (1)
      • HTML & CSS (18)
      • JS (3)
    • algorithm (186)
      • 백준 (161)
      • 프로그래머스 (23)
    • 사는 이야기 (0)

블로그 메뉴

  • Github
  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 혼자공부하는SQL
  • SQL고득점Kit
  • programmers
  • react
  • Bronze IV
  • Algorithm
  • select
  • java algorithm
  • BOJ
  • Bronze V
  • 혼공MySQL
  • 프로그래머스
  • math
  • java
  • Bronze III
  • BOJ algorithm
  • 혼공SQL
  • 문제풀이
  • SQL
  • Scanner
  • 알고리즘
  • BRONZE
  • sql 문제풀이
  • 자바
  • HTML
  • 백준
  • 백준알고리즘
  • 백준문제풀이
  • MySQL
  • 알고리즘풀이

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
달마루

기획자에서 개발자로

[백준] 등장하지 않는 문자의 합 - 3059 Java[자바]
algorithm/백준

[백준] 등장하지 않는 문자의 합 - 3059 Java[자바]

2023. 3. 22. 21:44


[Unrated] 등장하지 않는 문자의 합 - 3059

문제 링크

 

3059번: 등장하지 않는 문자의 합

입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 한 줄로 구성되어 있고, 문자열 S가 주어진다. S는 알파벳

www.acmicpc.net

성능 요약

메모리: 18240 KB, 시간: 260 ms

분류

구현, 문자열

문제 설명

알파벳 대문자로 구성되어있는 문자열 S가 주어졌을 때, S에 등장하지 않는 알파벳 대문자의 아스키 코드 값의 합을 구하는 프로그램을 작성하시오.

문자열 S가 “ABCDEFGHIJKLMNOPQRSTUVW” 일 때, S에 등장하지 않는 알파벳 대문자는 X, Y, Z이다. X의 아스키 코드 값은 88, Y는 89, Z는 90이므로 이 아스키 코드 값의 합은 267이다.

알파벳 대문자의 아스키 코드 값은 다음과 같다.

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90

입력

입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 한 줄로 구성되어 있고, 문자열 S가 주어진다. S는 알파벳 대문자로만 구성되어 있고, 최대 1000글자이다.

출력

각 테스트 데이터에 대해, 입력으로 주어진 문자열 S에 등장하지 않는 알파벳 대문자의 아스키 코드 값의 합을 한 줄에 하나씩 출력한다.



답 : 배열을 만들어
알파벳 등장 여부를 확인하고
등장하지 않은 알파벳의 아스키 코드 값을 더해준다. 

import java.util.Scanner;

public class Main {
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                int t = sc.nextInt(); // 테스트 데이터의 수

                for (int i = 0; i < t; i++) {
                        String s = sc.next(); // 문자열 입력
                        int sum = 0;
                        boolean[] alphabets = new boolean[26]; // 알파벳이 등장했는지 여부를 저장하는 배열

                        // 입력된 문자열을 순회하며 알파벳 등장 여부를 체크한다
                        for (int j = 0; j < s.length(); j++) {
                                int index = s.charAt(j) - 'A';
                                alphabets[index] = true;
                        }

                        // 등장하지 않은 알파벳의 아스키 코드 값을 합산한다
                        for (int j = 0; j < 26; j++) {
                                if (!alphabets[j]) {
                                        sum += (j + 'A');
                                }
                        }
                        System.out.println(sum);
                }
                sc.close();
        }
}
저작자표시 비영리 변경금지 (새창열림)

'algorithm > 백준' 카테고리의 다른 글

[백준] 사장님 도박은 재미로 하셔야 합니다 - 23795 Java[자바]  (0) 2023.03.24
[백준] 공백 없는 A+B - 15873 Java[자바]  (0) 2023.03.23
[백준] 사탕 선생 고창영 - 2547 Java[자바]  (0) 2023.03.21
[백준] 파일 옮기기 - 11943 Java[자바]  (0) 2023.03.19
[백준] 1998년생인 내가 태국에서는 2541년생?! - 18108 Java[자바]  (0) 2023.03.18
    'algorithm/백준' 카테고리의 다른 글
    • [백준] 사장님 도박은 재미로 하셔야 합니다 - 23795 Java[자바]
    • [백준] 공백 없는 A+B - 15873 Java[자바]
    • [백준] 사탕 선생 고창영 - 2547 Java[자바]
    • [백준] 파일 옮기기 - 11943 Java[자바]
    달마루
    달마루
    항상 어제보다 좋은 코드를 지향합니다. https://github.com/LimDongHyun99

    티스토리툴바