Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

Far from it.

문자열을 정수로 바꾸기 본문

문제풀기

문자열을 정수로 바꾸기

두유콩 2019. 9. 8. 14:52

문제 설명

문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.

 

제한 조건

  • s의 길이는 1 이상 5이하입니다.
  • s의 맨앞에는 부호(+, -)가 올 수 있습니다.
  • s는 부호와 숫자로만 이루어져있습니다.
  • s는 0으로 시작하지 않습니다.

입출력 예

예를들어 str이 1234이면 1234를 반환하고, -1234이면 -1234를 반환하면 됩니다.
str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다.

 

class Solution {
  public int solution(String s) {
     
      String input = s; // 입력받은 문자열 형태의 숫자
		String [] list = new String[input.length()]; // 문자열의 길이만큼 배열을 생성 
		String outPut=""; // 문자열로 받을 아웃풋 값을 받기 위한 변수
		
		for (int i= 0 ; i<input.length() ; i++) { // 문자열의 길이만큼 반복
			list[i]=input.substring(i,i+1); // 문자열을 하나씩 쪼개어 배열에 저장
		}
		
		if (list[0].equalsIgnoreCase("+")) { // 0번째 배열이 +인지 판단
			for (int i= 1 ; i<input.length() ; i++) { // 맞다면 1번째 배열부터 문자열의 길이만큼 아웃풋에 저장
				outPut+=list[i];
			}
			
		}else if(list[0].equalsIgnoreCase("-")) { // 문자열이 -인지 판단
			for (int i= 1 ; i<input.length() ; i++) { // 위와 동일한 방법
				outPut+=list[i]; 
			}
			
		}else 
			for (int i= 0 ; i<input.length() ; i++) { // 둘다 아니라면 정수형태이므로 그대로 0번째부터 저장
				outPut+=list[i];
			}
		
		int intOutPut = Integer.valueOf(outPut);  // 문자열을 정수형으로 전환하여 intOutPut에 저장
		
		if(list[0].equalsIgnoreCase("+")) { // + - 를 구분하여 intOutPut에 부호를 정함.
			intOutPut = intOutPut*1;
		}else if (list[0].equalsIgnoreCase("-")){
			intOutPut = intOutPut*-1;
		}
	
      return intOutPut;
  }
}

 

//

 

코드가 너무 난잡한 것 같다.

 

다른사람들의 답과 비교해보면서 다듬어보자.

 

//

 

멍청했다..

 

Integer.valueOf()를 쓸꺼면 

 

class Solution {
  public int solution(String s) {

		
		String ss = s;
		
		int intOutPut = Integer.valueOf(ss);
		
		
		return intOutPut;
	}
}

 

이렇게 하면 끝나버린다. 

 

 

'문제풀기' 카테고리의 다른 글

최대공약수와 최소공배수  (0) 2019.09.17
하샤드 수  (0) 2019.09.17
행열의 덧셈  (0) 2019.09.17
약수의 합  (0) 2019.09.08
소수 찾기 (에라토스테네스의 체)  (1) 2019.09.06