목록💻프로그래머스_연습 (37)
soozya
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cFEsnj/btsAw8WqgtF/zj4esRrafRq5X0nnj1AIaK/img.png)
[문제] [답] (1) if문 사용 [풀이] 짝수와 홀수 뭐 간단하지~ 하고 했다가... -1을 2로 나누면, 나누는 수가 양수이기 때문에 나머지 -1을 1로 인식하게 됨. 그래서 아무튼 에러가 나가지구.. 나머지가 -1일 때도 포함해서 작성했는데.... 나머지가 0일 때를 기준으로 작성하면 에러가 안난다고 합디다...ㅎ (2) 삼항연산자 사용 [풀이] 구래서 삼항연산자 쓸 땐 나머지가 0일 때를 기준으로 수식을 작성했더니 에러 없이... 아주 쉬웠음... 간단한데 약간의 변수가 있었던...!
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/nrZ8Y/btsAyq3giiw/rMV8ZHtn5BzOZWblqtN6s1/img.png)
[문제] [답] [풀이] 각 정수 a와 b를 String으로 변환해서 더한 값을 다시 int(Integer.parseInt)로 변환해서 각각 ab와 ba에 저장~ if문을 사용해서 ab(=a+b)보다 ba(=b+a)가 크면 ba를 반환하고, 아니라면 ab를 반환하기! 아 근데 생각해보니까 답 잘못썼네.. ab>= ba 일때 ab를 반환하게 썼어야 됨.. 문제에 a+b와 b+a의 값이 같으면 a+b를 반환해야 한다고 써있었는데... 틀렸네여..ㅠ
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bHOElQ/btsAxIpHX0h/z1U5VNByUEdGyEVc6jaxbk/img.png)
[문제] [답] (1) for문 사용하기 [풀이] for문을 사용해서 반복할 횟수 k보다 적은 수 만큼 반복합니다~ k가 3이면 3보다 작아야 되니까 2번 아닌가 할 수 있지만 i=0이 있으니까요~ 0,1,2 총 3번 가능~ (2) repeat() 사용하기 [풀이] 사실은 repeat()도 생각했었는데 안돼서 왜지? 했는데.. 안될 수 밖에...ㅎ... 위에 String answer=""; 써놨을 때 return 안해줌...ㅋ 아예 return 다음에 answer에 작성한 my_string.repeat(k)의 내용을 바로 작성해도 됨~
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cqsows/btsAxIwpDwG/G9QCOr5ZndPgMdI3TnM4Tk/img.png)
[문제] [답] [풀이] 딱히 어려울건 없구용.. 그냥 빈 문자열에 배열 순서에 맞는 원소를 이어 붙여서(더해서) 출력하면 됩니당
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dNTUgl/btsArA0Ux0T/XGPsSRuQEg8R8fkEl4BMuk/img.png)
[문제] [답] (1) char 선언하고 작성하기 [풀이] char s와 t를 사용해서 문자열 하나씩 뽑아 쓰도록 작성하였다. 그냥 s, t만 쓰면 아스키코드값 숫자로 나오기 때문에 String.valueOf() 를 사용하여 문자열로 바꾸어 주어 값을 출력하였음 (2) char 선언하지 않고 작성하기 [풀이] 이건 몰랐는데.. 여기도 마찬가지로 answer += str1.charAt(i)+str2.charAt(i); 만 사용하면 (1)의 형식과 같아서 숫자로 인식하는데, 다른 사람의 풀이를 보니 charAt 앞에 빈 문자열 ""를 붙여주면 문자열로 인식한다고 하네욥~
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/CmsrY/btsAs7XzzS8/OgR5bUUXktmdEQGuf3lF3K/img.png)
[문제] [답] [풀이] 간단하게 나누기를 할 숫자 i의 범위를 정하고, 나머지가 1일 경우 answer=1의 값을 출력해주면 된다. i에 0을 넣으면 나누기를 하는 의미가 없으므로 에러 발생, break를 하지 않으면 10나누기 3에서 나머지가 1이 나오는 경우는 3과 9가 있으므로, 가장 작은 수인 3만 출력할 수 없으므로 에러발생!
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cfOXKa/btszRR9zUoK/OUPacFjJtALWK8sfJZ9PD1/img.png)
[문제] [답] [풀이] 약간 복잡했지만.... substring은 문자열 중 특정 문자를 추출할 때 사용할 수 있고, .substring(n, m) 일 때 n은 시작 인덱스 번호, m은 m-1의 값에 해당한다. 예를 들어 (0, 4) 의 경우 인덱스 번호 0부터 4-1인 3까지의 글자를 추출할 수 있는 것! 3라인을 해석하자면 my_string 문자열의 인덱스 번호 0부터 s-1까지의 문자를 추출한 후, overwrite_string의 문자열을 이어 붙임! 만약 3라인까지만 썼을 때, overwrite_string의 문자열이 my_string 문자열보다 길거나 남는 값이 없다면 오류가 생기지 않지만 my_string의 글자가 남는다면 오류가 발생할 수 있음..! => website 와 123을 결합할 ..