자바공부 12일차

김택승·2023년 8월 7일

유진이와 택승이

목록 보기
9/10
post-thumbnail

pr31

예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.

  1. N에 피라미드 층의 수 를 입력받는다.
  2. 피라미드의 상단부를 먼저 출력해준다. i가 1부터 시작해서 N까지 반복한다.
  3. j가 1부터 N-i보다 작거나 같을 때까지 반복하여 공백을 출력한다. 별을 중앙정렬하기 위함이다.
  4. 중앙정렬을 한 뒤 별을 찍어야 하기 때문에 j가 1부터 시작하여 2 * i - 1 보다 작거나 같을 때까지 반복하여 별을 찍는다.
  5. 피라미드의 하단부를 작성해준다. i 가 n-1부터 시작하여 1까지 반복한다. 상단부와 동일하게 별을 찍지만 줄의 개수를 간소하는 방향으로 출력한다.

pr32

알파벳 소문자로만 이루어진 단어가 주어진다. 이때, 이 단어가 팰린드롬인지 아닌지 확인하는 프로그램을 작성하시오.
팰린드롬이란 앞으로 읽을 때와 거꾸로 읽을 때 똑같은 단어를 말한다.
level, noon은 팰린드롬이고, baekjoon, online, judge는 팰린드롬이 아니다.

  1. S에 문자열을 입력받는다. ans에 값을 1로 초기화해준다.
  2. i가 S.length() - 1부터 0보다 크거나 같을 때까지 감소시켜주면서 char N 에 S.charAt(i)를 넣어준다. 그 후 if문을 통해 원래 문자와 비교해서 같지 않다면 ans에 0을 넣어준다.

pr33

알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.

  1. 알파벳을 카운트 하기 위해 배열을 만든다.
  2. 문자열을 입력받아 S에 저장한다.
  3. 알파벳의 개수를 세어줄 것이다. 대문자와 소문자를 구분하지 않는다고 하기 때문에 소문자가 나와도 똑같은 값이 나와야 한다. String으로 입력 받은 S를 for문과 charAt를 이용해 하나씩 가져와서 확인한다. S.charAt()가 'A'의 값보다 크거나 같고 'Z'의 값보다 작거나 같다면 arr배열에 S.charAt(i) - 'A' (65)를 빼서 넣어준다.
    소문자라면 - 'a'를 해준다.
  4. max, MAX 를 만들어 초기화 해준다.
  5. i가 0부터 arr의 길이 만큼 증가시키는 for문 안에서 가장 많은 알파벳을 찾아주고 max에 (char) 형으로 (i + 65)를 넣어준다.
  6. max값이 동일 한 경우 MAX에 '?'를 넣어
profile
개발 꿈나무🌱

1개의 댓글

comment-user-thumbnail
2023년 8월 7일

사랑해

답글 달기