๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm/Etc

[Java] ์ˆซ์ž ๋’ค์ง‘๊ธฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜

by yunamom 2022. 5. 15.
728x90
300x250

public int reverse(int x) { // x = -1234
		
	int rev = 0;		
		
	while(x!=0) {
		rev = rev*10 + x%10;
		x/=10;
	}	
	return rev; // -4321
}

1. -1234๋ฅผ ๋์—์„œ๋ถ€ํ„ฐ ํ•œ ๊ฐœ์”ฉ ์ž๋ฅธ๋‹ค

2. ์ž˜๋ ค์ง„ ์ˆซ์ž๋ฅผ ๋งจ ์•ž์— ์ฐจ๋ก€๋Œ€๋กœ ์œ„์น˜์‹œํ‚จ๋‹ค

 

๋์— ์ˆซ์ž๋ฅผ ๊ฐ€์ ธ์˜ค๋ ค๋ฉด?

x ๋ฅผ10์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋ฉด ๋œ๋‹ค.

 

-1234๋ฅผ 10์œผ๋กœ ๋‚˜๋ˆ„๋ฉด ๋ชซ์ด -123์ด๊ณ  ๋‚˜๋จธ์ง€๊ฐ€ -4๊ฐ€ ๋œ๋‹ค.

์ฆ‰, ๋‚˜๋จธ์ง€๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค๋Š” ๊ฑด ๋งˆ์ง€๋ง‰ ์ž๋ฆฌ ์ˆซ์ž๋ฅผ ๊ฐ€์ ธ์˜ค๊ฒ ๋‹ค๋Š” ๋œป

 

rev์— 10์„ ๊ณฑํ•˜๊ณ  ๋‚ด๊ฐ€ ๊ฐ€์ ธ์˜จ ๋งˆ์ง€๋ง‰ ์ˆซ์ž๋ฅผ ๋”ํ•ด์„œ ๋งจ ์•ž์œผ๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

public int reverse2(int x) { // x = -1234
		
	int rev = 0;		
			
	while(x>9 || x<-9) {
		rev = rev*10 + x%10;
		x/=10;
	}			
	return rev*10+x; // -4321
}

 

728x90
300x250

์ฝ”๋“œ