전체 글
[PS] 인프런 강의 - Array 2. 보이는 학생
문제 선생님이 N명의 학생을 일렬로 세웠습니다. 일렬로 서 있는 학생의 키가 앞에서부터 순서대로 주어질 때, 맨 앞에 서 있는 선생님이 볼 수 있는 학생의 수를 구하는 프로그램을 작성하세요. (어떤 학생이 자기 앞에 서 있는 학생들보다 크면 그 학생은 보이고, 작거나 같으면 보이지 않습니다.) ▣ 입력설명 첫 줄에 정수 N(5
[PS] 인프런 강의 - 문자열 12. 암호
문제 현수는 영희에게 알파벳 대문자로 구성된 비밀편지를 매일 컴퓨터를 이용해 보냅니다. 비밀편지는 현수와 영희가 서로 약속한 암호로 구성되어 있습니다. 비밀편지는 알파벳 한 문자마다 # 또는 *이 일곱 개로 구성되어 있습니다. 만약 현수가 “#*****#”으로 구성된 문자를 보냈다면 영희는 현수와 약속한 규칙대로 다음과 같이 해석합니다. 1. “#*****#”를 일곱자리의 이진수로 바꿉니다. #은 이진수의 1로, *이진수의 0으로 변환합니다. 결과는 “1000001”로 변환됩니다. 2. 바뀐 2진수를 10진수화 합니다. “1000001”을 10진수화 하면 65가 됩니다. 3. 아스키 번호가 65문자로 변환합니다. 즉 아스크번호 65는 대문자 'A'입니다. 참고로 대문자들의 아스키 번호는 'A'는 65번,..
[PS] 인프런 강의 - 문자열 11. 문자열 압축
문제 문자 바로 오른쪽에 반복 횟수를 표기하는 방법으로 문자열을 압축하는 프로그램을 작성하시오. 단 반복횟수가 1인 경우 생략합니다. ▣ 입력설명 첫 줄에 문자열이 주어진다. 문자열의 길이는 100을 넘지 않는다. ▣ 출력설명 첫 줄에 압축된 문자열을 출력한다. ▣ 입력예제 1 KKHSSSSSSSE ▣ 출력예제 1 K2HS7E 풀이 간단한 문제지만 for문에서 i번째 문자와 이전 문자(i-1번째 문자)가 다르면, 이전 문자와 반복횟수를 출력하는 로직으로 짰기 때문에, 마지막 문자의 경우 출력되지 않는 문제가 생기니 반드시 문자열에 공백문자를 하나 추가해둬야한다. 코드 1) 내가 푼 방식 import java.util.Scanner; public class Main { public static void m..
[PS] 인프런 강의 - 문자열 10. 가장 짧은 문자거리
문제 한 개의 문자열 s와 문자 t가 주어지면 문자열 s의 각 문자가 문자 t와 떨어진 최소거리를 출력하는 프로그램을 작성하세요. ▣ 입력설명 첫 번째 줄에 문자열 s와 문자 t가 주어진다. 문자열과 문자는 소문자로만 주어집니다. 문자열의 길이는 100을 넘지 않는다. ▣ 출력설명 첫 번째 줄에 각 문자열 s의 각 문자가 문자 t와 떨어진 거리를 순서대로 출력한다. ▣ 입력예제 1 teachermode e ▣ 출력예제 1 1 0 1 2 1 0 1 2 2 1 0 풀이 이번 문제는 함수를 딱히 사용하지 않고 원시적인 방법(?)으로 해결해야 한다. 우선 문자열을 char 배열에 저장한뒤 처음부터 쭉 순회하면서 answer 배열에, 왼쪽의 e와의 거리를 저장한다. 변수 p을 큰값(1000)으로 초기화해두고, e..