TIL(Today I Learned)

[Java] 정수형 → 문자열 / 문자열 → 정수형 변환 정리

yunseohhe 2024. 8. 1. 22:32

안녕하세요!

오늘은 제가 개인적으로 너무 헷갈렸던 부분에 대해 정리해 보도록 하겠습니다.

 

정수형(int, long형)  →  문자열

방법1.

Integer.toString(int값) & Long.toString(long값)

방법1 예시 이미지

  • 문자열로 바꾸고자 하는 값을 위에 나와있는 이미지처럼 형변환 시켜주면 됩니다!!

 

방법2.

String.valueOf(int값) & String.valueOf(long값)

방법2 예시 이미지

  • 문자열로 바꾸고자 하는 값을 위에 나와있는 이미지처럼 형변환 시켜주면 됩니다!!

 

방법3.

정수형값 + ""  ( = 문자열을 더해서 문자열로 바꾸는 방법)

방법3 예시 이미지

  • 문자열은 다른 형과 더하면 "문자열"로만 출력되는 점을 이용했습니다.

 


문자열  → 정수형(int, long형)

방법1. 

Integer.parseInt(String값) & Long.parseLong(String값)

방법1의 예시

 

 

cf ) 중간에 쓰여있는 'parse' 뜻이 궁금하여 검색해봤습니다.

(혹시 저처럼 궁금하신 분 있으실까봐 작성합니다..ㅎㅎ)

출처 : 네이버 검색

 

 

방법2. 

Integer.valueOf(String값) & Long.valueOf(String값)

방법2의 예시

 


이제 위의 정리된 내용으로 코딩테스트 2개의 문제를 풀어보도록 하겠습니다.

 

첫 번째 문제 : 

출처 : 프로그래머스 코딩테스트

 

정답 이미지

  • 문자열을 정수형 int로 바꾸는 문제였습니다.
  • 해설 관련해서는 위에 다 설명했기때문에 따로 또 적진 않겠습니다!

 


 

두 번째 문제 : 

출처 : 프로그래머스 문제

 

일단 이 문제를 푸는 방법에는 여러가지가 있는데요.

이 푸는 방법에 대해서도 밑에 깔끔하게 정리해 보도록 하겠습니다.

 

  1. substring을 이용하여 자연수를 뒤집어 배열로 만들고 싶어서 쓴 방법입니다.

 

정답 1의 예시
직접 필기한 내용

  • 일단 "substring"은 문자열을 원하는 위치에서 잘라야하는 경우에 사용합니다.
  • 제가 필기한 내용을 보면 (beginIndex, endIndex)라고 표시 했는데요. (Index는 0번부터 시작합니다!!!!!)
  • beginIndex : 인덱스 몇번째부터 시작할지의 값! (예 : 인덱스 시작부분이 4라고 적으면 4번째 포함의 값이니깐 인덱스 4번째부터의 값이 출력되는 것입니다.)
  • endIndex : 몇번째 이전의 값! (예 : 인덱스 5이면 5번째 이전의 값이니깐 인덱스 4번째의 값이 출력되는 것입니다.) 
  • 이해를 돕기 위해서 밑의 이미지를 추가하였습니다.

substring으로 푼 예시

 

 

2. while문을 이용해서 푼 방법입니다.( 출처 : 다른 사람 풀이 참고!)

while문으로 푼 예시2

혹시 위의 이미지 내용이 이해가 안가시는 분이 계실까봐, 밑에 자세히 적어보았습니다.

  • 일단 정수형을 문자열로 변환한 뒤에, 문자열의 길이만큼 배열을 초기화 해줬습니다.
  • int형 cnt를 선언하고 0으로 초기화한 뒤,
  • 10으로 나눈 나머지는 일의 자리만 출력되는 부분을 이용했습니다.
  • 일의 자리를 뽑아낸 n은 일의 자리를 없애줘야되니깐 10을 몫만 출력되게 나눠줬어요
  • 이 다음에는 cnt를 1씩 증가시켜서, 배열에 하나씩 입력하게 했습니다.

 

오늘도 읽어주셔서 감사합니다.

제 블로그가 무조건 정답은 아니니 참고삼아봐주시면 감사하겠습니다.

틀린 부분이나 추가하고 싶은 부분 있으시면 댓글 남겨주시면 저에게 도움이 많이 될 것 같습니다. :-)

 


오늘의 요약

String.valueOf(정수형값) : 정수형 → 문자열

Integer.valueOf(String값) : 문자열 → 정수형

valueOf는 도트(.) 앞에 무엇으로 변환하고 싶은지 적습니다.