콘텐츠로 건너뛰기
Home » exercise

exercise

(연습문제) 대소문자변환

연습문제 : 대소문자 변환하기 입력받은 문자열의 대소문자를 반전하여 출력하는 프로그램을 작성하시오. 입력받은 각 글자의 문자 코드가 ‘a’ … ‘z’ 사이에 있으면 소문자, ‘A’~’Z’ 사이에 있으면 대문자이다. 그리고 그 변환은 해당 코드값에 a – A를 더하거나 빼주면 된다. 먼저 대소문자의 범위를 찾아보자. print("azAZ".utf8.map(Int.init)) //=> [97, 122, 65, 90] 즉 문자 코드가 97~122 구간에 있으면 소문자, 65~90 구간에 있으면 대문자이다. 소문자->대문자 변환은 32를 빼고, 반대의 변환은 32를 더한다. 문자 코드 값으로 다시 문자를 만드는 방법은 다음과 같다. 문자열은 [Character] 타입으로 만들 수… 더 보기 »(연습문제) 대소문자변환

연습문제(벽과 폭탄)

벽과 폭탄

각 테스트 케이스마다 ‘W’, ‘B’로 이루어진 문자열이 입력된다. B는 폭탄을, W는 벽을 의미하는데, 폭탄이 하나 터지면 폭탄을 중심으로 반경 2칸 이내의 벽이 모두 폭파된다. 이 때 폭탄이 일시에 터졌을 때 폭파되는 벽의 개수를 출력하라. (https://www.hackerearth.com/problem/algorithm/bob-and-bombs-cake-walk/description/)

BWW, BW, WB, WWB에 해당하는 W의 수를 세는 문제이므로, 이는 간단하게 정규식으로 해결할 수 있다.
더 보기 »연습문제(벽과 폭탄)