인프런 (102) 썸네일형 리스트형 섹션 2. Array(1, 2차원 배열)_2. 보이는 학생 문제 선생님이 N명의 학생을 일렬로 세웠습니다. 일렬로 서 있는 학생의 키가 앞에서부터 순서대로 주어질 때, 맨 앞에 서 있는 선생님이 볼 수 있는 학생의 수를 구하는 프로그램을 작성하세요. (앞에 서 있는 사람들보다 크면 보이고, 작거나 같으면 보이지 않습니다.) 입력 첫 줄에 정수 N(5 섹션 2. Array(1, 2차원 배열)_1. 큰 수 출력하기 문제 N개의 정수를 입력받아, 자신의 바로 앞 수보다 큰 수만 출력하는 프로그램을 작성하세요. (첫 번째 수는 무조건 출력한다) 입력 첫 줄에 자연수 N(1 섹션 1. String(문자열)_12. 암호 문제 현수는 영희에게 알파벳 대문자로 구성된 비밀편지를 매일 컴퓨터를 이용해 보냅니다. 비밀편지는 현수와 영희가 서로 약속한 암호로 구성되어 있습니다. 비밀편지는 알파벳 한 문자마다 # 또는 *이 일곱 개로 구성되어 있습니다. 만약 현수가 “#*****#”으로 구성된 문자를 보냈다면 영희는 현수와 약속한 규칙대로 다음과 같이 해석합니다. 1. “#*****#”를 일곱자리의 이진수로 바꿉니다. #은 이진수의 1로, *이진수의 0으로 변환합니다. 결과는 “1000001”로 변환됩니다. 2. 바뀐 2진수를 10진수화 합니다. “1000001”을 10진수화 하면 65가 됩니다. 3. 아스키 번호가 65문자로 변환합니다. 즉 아스크번호 65는 대문자 'A'입니다. 참고로 대문자들의 아스키 번호는 'A'는 65번,.. 섹션 1. String(문자열)_11. 문자열 압축 문제 알파벳 대문자로 이루어진 문자열을 입력받아 같은 문자가 연속으로 반복되는 경우 반복되는 문자 바로 오른쪽에 반복 횟수를 표기하는 방법으로 문자열을 압축하는 프로그램을 작성하시오. 단 반복횟수가 1인 경우 생략합니다. 입력 첫 줄에 문자열이 주어진다. 문자열의 길이는 100을 넘지 않는다. 출력 첫 줄에 압축된 문자열을 출력한다. 입출력 예제 풀이 방식을 정리해보자. 메소드 구현으로 바로 넘어가보자. 입력받은 문자열에 빈 문자를 더한다. 그 이유는 i와 i+1 을 이용해서 앞뒤 문자열을 비교할건데, 맨 마지막 문자와 비교할 문자를 만들어주기 위해서이다. AB 라는 문자가 있을 때, B와 비교할 뒤에 문자가 없기 때문에 임의로 빈 문자를 넣어주는 것이다. cnt라는 변수를 1로 초기화한다. cnt는 중.. 섹션 1. String(문자열)_10. 가장 짧은 문자거리 문제 한 개의 문자열 s와 문자 t가 주어지면 문자열 s의 각 문자가 문자 t와 떨어진 최소거리를 출력하는 프로그램을 작성하세요. 입력 첫 번째 줄에 문자열 s와 문자 t가 주어진다. 문자열과 문자는 소문자로만 주어집니다. 문자열의 길이는 100을 넘지 않는다. 출력 첫 번째 줄에 각 문자열 s의 각 문자가 문자 t와 떨어진 거리를 순서대로 출력한다. 입출력 예제 풀이 방식을 정리해보자. 이번에는 메소드에 static을 사용하지 않고 객체 생성을 했다. static 사용이유는 다음과 같다. 전역적으로 쉽게 재사용하는 변수나 메소드를 사용할 때 주로 사용한다. 생성 후 클래스 호출이나 객체 생성 필요 없이 바로 사용할 수 있기 때문에 사용성이 좋다. 다만 메모리 자원을 할당해놓고 사용하는 것이기 때문에 너.. 섹션 1. String(문자열)_9. 숫자만 추출 문제 문자와 숫자가 섞여있는 문자열이 주어지면 그 중 숫자만 추출하여 그 순서대로 자연수를 만듭니다. 만약 “tge0a1h205er”에서 숫자만 추출하면 0, 1, 2, 0, 5이고 이것을 자연수를 만들면 1205이 됩니다. 추출하여 만들어지는 자연수는 100,000,000을 넘지 않습니다. 입력 첫 줄에 숫자가 섞인 문자열이 주어집니다. 문자열의 길이는 100을 넘지 않습니다. 출력 첫 줄에 자연수를 출력합니다. 입출력 예제 풀이 방식은 총 3가지로, 다음과 같다. 1. replaceAll() 사용 2. 아스키코드 사용 3. isDigit() 사용 1. replaceAll 사용 문자열을 입력받고 메소드를 호출하는 코드를 작성한다. 메소드 구현으로 넘어가보자. 결과값을 자연수로 출력해야 하므로 int형으.. 섹션 1. String(문자열)_8. 유효한 펠린드롬 문제 앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 팰린드롬이라고 합니다. 문자열이 입력되면 해당 문자열이 팰린드롬이면 "YES", 아니면 “NO"를 출력하는 프로그램을 작성하세요. 단 회문을 검사할 때 알파벳만 가지고 회문을 검사하며, 대소문자를 구분하지 않습니다. 알파벳 이외의 문자들의 무시합니다. 입력 알파벳 이외의 문자들의 무시합니다. 출력 첫 번째 줄에 팰린드롬인지의 결과를 YES 또는 NO로 출력합니다. 입출력 예제 풀이 방식은 다음과 같다. 문자열로 입력받을 것이기에 nextLine() 을 사용하여 변수를 선언하고, 메소드를 호출한다. 바로 메소드 구현으로 넘어가보자. 디폴트 결과값을 NO로 설정한다. toUppcerCase() 를 통해 입력받은 문자열을 모두 대문자로 바꾼다. 다음으로 .. 섹션 1. String(문자열)_7. 회문 문자열 문제 앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 회문 문자열이라고 합니다. 문자열이 입력되면 해당 문자열이 회문 문자열이면 "YES", 회문 문자열이 아니면 “NO"를 출력하는 프로그램을 작성하세요. 단 회문을 검사할 때 대소문자를 구분하지 않습니다. 입력 단 회문을 검사할 때 대소문자를 구분하지 않습니다. 출력 첫 번째 줄에 회문 문자열인지의 결과를 YES 또는 NO로 출력합니다. 입출력 예제 다음과 같이 두 가지 방식으로 풀어보았다. 1. toUpperCase 를 사용한다. 2. reverse, equalsIgnoreCase 를 사용한다. 1. toUpperCase 사용 문자열을 입력받고 메소드를 수행하는 코드를 main 에 작성한다. 이제 메소드를 구현해보자. 리턴값의 디폴트를 YES로 설정.. 이전 1 ··· 9 10 11 12 13 다음