Code Signal -Arcade
코드시그널
아케이드 문제 관련 풀이들을 구글링하면서 찾아가는 일지를 하나씩하나씩 기록하고자 합니당.
주로 자바 위주로 풀이를 올릴예정이고, 추가로 공부하고 있는 파이썬이나 코틀린, GO, 자바스크립트 더 나아가 스위프트까지...
되는대로 가능한대로 구글링하고 정답맞추면 바로 패스!!
이런식으로 좋은 코드이든 말든 짜집기한 결과물들을 개인적 소장을 위해 기록합니다. ^^
참고 사이트들은 아래에 링크로 남겨둘터이니 자세하고 더욱 깊은 내용들은 링크로 들어가보세요!
Add Border
테두리를 추가하라는 뜻의 제목인데요.. 문제를 볼까요?
그냥 따악 봐도 예시 먼저 보면 이해가 됩니다.
배열을 주는데, 그 배열 주변으로 *을 채워서 테두리처럼 보이게 해달라는 것입니다.
단 그 테두리 두깨는 1개 정도 두께니깐 *로 된거 앞에랑 맨 뒤에 추가해주고 (기존 문자열 값보다 +2해서)
그리고 나머지 배열요소들 앞뒤에 *를 추가해주면 될듯 합니다.
일단 답을 보면서 해볼께요.
제가 만든 답안은 이렇습니다.
먼저 배열을 하나 추가로 생성합니다. 사이즈는 +2 해서말이죠.
그리고, 반복문을 통해서 새로만든 배열의 모든 요소 앞뒤에 *문자를 붙여줍니다.
그렇게 되면, 일단 star라는 배열의 요소들은 [ null , *abc*, *ded*, null ] (test1의 경우) 이런식으로 들어갑니다.
그다음 배열 맨처음과 맨 마지막 요소를 *로 꽉 채워줘야하는데, 그 별의 갯수가 간단히 2번째 요소의 문자열 길이랑
똑같이 들어가기만 하면 되죠.
그래서 star[0] = star[1].replaceAll("." , "*") ; 을 해주게 되면, 해당 요소의 문자열 전체를 치환해준다. replaceAll()에 대한 정보는 아래 링크로 들어가보세요!
https://coding-factory.tistory.com/128
아무튼 이렇게 한뒤, 마지막 요소도 그냥 1번째 요소와 같이 선언해주고, 출력하면 성공~
'Algorithm > Java' 카테고리의 다른 글
#16_Code Signal Arcade >> Are Similar? (0) | 2019.11.18 |
---|---|
#14_Code Signal Arcade >> Alternating Sums (0) | 2019.11.14 |
#13_Code Signal Arcade >> Reverse In Parentheses (0) | 2019.11.07 |