정말 하나씩 작성하고 출력하고 하면서 단순하게 시도 했다.
fun main () {
println("!@#$%^&*(\\\'\"<>?:;") // 나의 답
}
// \\ = \ 와 \' =' \" = " 이용하여 출력 했음. 초반 (때문에 에러가 많았다. \이용해야하는 것을 아직 구분하기 힘들다.
하나씩 적어서 정리한 것을 바로 표기가 안되는 것만 밑에 주석으로 달아봤다.
다른 사람 답변 : 1
fun main() {
val s1 = "!@#\$%^&*(\\'\"<>?:;"
println(s1)
}
// $ 표시와 \ 표시 " 표시할 때 \ 앞에 넣어서 뒤에것이 기호라고 알려주고 있다.
다른사람 답변 : 2
fun main () {
print("!@#\$%^&*"+"("+"\\'"+"\""+("<>?:;"))
}
// + 기호를 이용하여 "(" = ( 와 \\ = \ 와 \" = "
다른 사람 것을 보고 무엇에 기호표시를 넣었는지를 확인하고 했다.
문자열 붙여서 출력하기
문제
import scala.io.StdIn.readLine
object Solution {
def main(args: Array[String]) {
val inp = readLine().split(" ")
val (s1, s2) = (inp(0), inp(1))
print(s1+s2)<<< 여기다가 답을 적어야 했다...
} // 난 여기에서 열심히 print 를작성하니 아예 프린트가 되지 않았다.
}
화난다
진짜 위에꺼 해석이 되는데 도대체 내가 뭘 잘못해석했냐면서..
처음으로 chatGTP 에게도 물었지만 난 재대로 해석했다.
무엇이 문제였을까 했는데...
... print를 처음에 메인 바깥에서 출력을 할려고 해서 계속 오류가 일어났다.
내 시간을 나는 아아아아아
근데 이 것을 내가 안드로이드스튜디오 옮길려고 하는데 뭔가 잘못되었다고 한다.
val inp = "Hello World"
println(inp)
var str = inp.split(" ") // 공백으로 분리한 것
println(str)
val s1 = str[0]
val s2 = str[1] // 이렇게 하나씩은 선언이 되는데 왜에 한꺼번에는 안되는 것이냐고요
// val (s1, s2) = (str[0], str[1]) // 안드로이드스튜디오 split은 List<String> 이 리턴 타입 <<선생님 왈 솔직히 이해못해서 그냥 부딪혀서 해봄.
println(s1)
println(s2)
println(s1+s2)
처음 작성한 코드, 두개가 되지 않아서 일단 1개씩 선언을 했는데 잘 되었다.
그러면 위쪽에서 오류가 난 것은 없었다는 것인데.
왜 2개는 선언이 안되냐고!!! 아무리 검색해도 나오지 않아 결국 질문방에 질문을 넣었다.
그래서 나온 답변
"안드로이드 스튜디오에서는 split 이 List<String> 이 리턴 타입" 이라는 거였다.
솔직히 이해못했다. 그래도 다행히 어떻게 작성하라는지 알려 주셨다.
val (s1, s2) = str // 안드로이드는 자동으로 순차적으로 변수에 대입이 되고 있었다. 그래서 계속 str[1] 만오류 표시가 났던 것.
주석들에 다 해석이 있지만... 이해하고 블로그작성을 하기때문에 주석이 중간중간에 그러합니다... 저거 못지웁니다.
저에게 너무 소중한 자료들입니다.
그리고 이것을 실험을 해봤다.
// 내가 무작정 길게 적으면 어떻게 될까? 갯수가 맞지 않다면?
println("------------------------")
val str1 = "내가 실험용으로 이렇게 길게 글을 작성 하여 테스트를 해본다"
val (s3,s4, s5) =str1.split(" ")
println(s3 + "s3")
println(s4)
println(s5)
val (s7, s8, s9, s10, s11) = str1.split(" ") // 총 5개 초과하여 변수선언하니깐 오류 발생한다.
println(s7 + "s7")
println(s8)
println(s9)
println(s10)
println(s11)
}
출력 값
원래 기본 보다 작아도 가능은 했다
다만 코딩테스트 결과 총 5개만 가능했다. 그 이상 넘어가니깐 str1.split (" ") 에 오류가 발생했다.
그리고 자동으로 처음부터 순!차!적!으로 변수 선언이 되었다.
진짜 불필요한 일일지 모르겠지만 뒤쪽에서도 부터 가져오고 싶으면 어떻게 해야할까? 라는 의문이 생기지만
왠지 이것도 사용하지 않을 것 같은 느낌이 든다.
그냥 처음꺼를 크게 나눠서 이용하면 되니깐 이라는 생각이 들면서 뒤에서부터 갖고 오는 것은 검색하지 않았다.
프로그래머스 문제는 저번보나는 내가 할 수있는 수준이었다
내가 괜히 안드로이드스튜디오로 옮기나 싶기도 한데... 남 해석도 해석이지만 이걸 내가 잘 작성할 수있냐 라는 테스트를 위해서 하는 것이다._자기합리화 갑입니다. (- -)(_ _)(- -)(_ _)꾸벅꾸벅
그래도 어제 한문제보다는 나아가고 있다고 생각하고 오늘은 알고리즘 안 볼 겁니다. 못 봅니다!
오늘의 키워드나 알게된 것
.split(" ")
\ 이용하여 특수기호
변수선언 여러개
'프로그래머스풀이' 카테고리의 다른 글
배열 뒤집기 (0) | 2023.08.04 |
---|---|
문자열돌리기 / 홀짝 구분하기 (0) | 2023.08.03 |
대소문자 바꿔서 출력하기 (0) | 2023.08.02 |
배열 두배 만들기 (0) | 2023.07.31 |
문자열 출력하기/ a와 b 출력하기/문자열 반복해서 출력하기 (0) | 2023.07.26 |