๊ด€๋ฆฌ ๋ฉ”๋‰ด

bom's happy life

[JAVA] ๋ฌธ์ž์—ด ๊ฒน์ณ์“ฐ๊ธฐ ๋ณธ๋ฌธ

Algorithm๐Ÿ’Œ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[JAVA] ๋ฌธ์ž์—ด ๊ฒน์ณ์“ฐ๊ธฐ

bompeach 2023. 4. 25. 20:27

๋ฌธ์ œ ์„ค๋ช… :

๋ฌธ์ž์—ด my_string, overwrite_string ๊ณผ ์ •์ˆ˜ s๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.

๋ฌธ์ž์—ด my_string์˜ ์ธ๋ฑ์Šค s ๋ถ€ํ„ฐ overwrite_string ์˜ ๊ธธ์ด๋งŒํผ์„ ๋ฌธ์ž์—ด overwrite_string ์œผ๋กœ ๋ฐ”๊พผ ๋ฌธ์ž์—ด์„ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”.

 

์ œํ•œ์‚ฌํ•ญ :

๐Ÿ”Ž my_string๊ณผ overwrite_string ์€ ์ˆซ์ž์™€ ์•ŒํŒŒ๋ฒณ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ”Ž 1 ≤ overwrite_string ์˜ ๊ธธ์ด ≤ my_string ์˜ ๊ธธ์ด ≤ 1,000

๐Ÿ”Ž 0 ≤ s ≤ my_string์˜ ๊ธธ์ด -  overwrite_string ์˜ ๊ธธ์ด

 

์ž…์ถœ๋ ฅ ์˜ˆ :

my_string overwrite_string s result
"He11oWor1d" "lloWorl" 2 "HelloWorld"
"Program29b8UYP" "merS123" 7 "ProgrammerS123"

 

์ž…์ถœ๋ ฅ ์˜ˆ  ์„ค๋ช… :

์ž…์ถœ๋ ฅ ์˜ˆ #1

- ์˜ˆ์ œ 1๋ฒˆ์˜ my_string ์—์„œ ์ธ๋ฑ์Šค 2๋ถ€ํ„ฐ overwrite_string์˜ ๊ธธ์ด๋งŒํผ์— ํ•ด๋‹นํ•˜๋Š” ๋ถ€๋ถ„์€ "11oWor1"์ด๊ณ  ์ด๋ฅผ  "lloWorl"๋กœ ๋ฐ”๊พผ "HelloWorld"๋ฅผ return ํ•ฉ๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #2

- ์˜ˆ์ œ 2๋ฒˆ์˜ my_string ์—์„œ ์ธ๋ฑ์Šค 7๋ถ€ํ„ฐ overwrtie_string์˜ ๊ธธ์ด๋งŒํผ์— ํ•ด๋‹นํ•˜๋Š” ๋ถ€๋ถ„์€ "29b8UYP"์ด๊ณ  ์ด๋ฅผ "merS123"๋กœ ๋ฐ”๊พผ "ProgrammerS123"๋ฅผ return ํ•ฉ๋‹ˆ๋‹ค.

 

 

.

.

.

 

 

๋ฐฉ๋ฒ•1

class Solution {
    public String solution(String my_string, String overwrite_string, int s) {
        String before = my_string.substring(0, s);
        String after = my_string.substring(s + overwrite_string.length());
        return before + overwrite_string + after;
    }
}

์ด๋ ‡๊ฒŒ ์ž‘์„ฑํ•˜์˜€์ง€๋งŒ... '+' ์—ฐ์‚ฐ์„ ํ†ตํ•œ ๋ฌธ์ž์—ด ํ•ฉ์น˜๊ธฐ๋ฅผ ์ง€์–‘ํ•˜๋ผ๋Š” ๊ธ€์„ ๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ๋‚ญ๋น„๋‚˜ ์‹คํ–‰์†๋„๋ฉด์—์„œ.. ์ด๋Ÿฐ ๋ถ€๋ถ„๋„ ์‹ ๊ฒฝ์จ์•ผํ•จ์„ ๋ฐฐ์šด๋‹ค. (ํ”„๋กœ๊ทธ๋žจ ๋Œ๋ ค๋ณด๋‹ˆ ํ™•์‹คํžˆ ์˜ค๋ž˜๊ฑธ๋ฆฐ๋‹ค.)

https://dkswnkk.tistory.com/584

 

 

[Java] ์ž๋ฐ”์—์„œ '+' ์—ฐ์‚ฐ์„ ํ†ตํ•œ ๋ฌธ์ž์—ด ํ•ฉ์น˜๊ธฐ๋ฅผ ์ง€์–‘ํ•˜๋ผ

์„œ๋ก  ์ž๋ฐ”์—์„œ '+' ์—ฐ์‚ฐ์„ ํ†ตํ•œ ๋ฌธ์ž์—ด ํ•ฉ์น˜๊ธฐ๋ฅผ ์ง€์–‘ํ•˜๋ผ๋Š” ํฅ๋ฏธ๋กœ์šด ์ฃผ์ œ๋ฅผ ๋ณด๊ฒŒ ๋˜์–ด ๊ธ€์„ ์ž‘์„ฑํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ์ „์— ๋จผ์ € String๊ณผ StringBuffer, ๊ทธ๋ฆฌ๊ณ  StringBuilder์— ๋Œ€ํ•œ ์‚ฌ์ „ ์ง€์‹์ด ์žˆ์œผ๋ฉด

dkswnkk.tistory.com

 

 

๋ฐฉ๋ฒ•2

class Solution {

    public String solution(String my_string, String overwrite_string, int s) {
        String answer = my_string.substring(0, s) + overwrite_string;

        if(my_string.length() > answer.length()) {
            answer += my_string.substring(answer.length());
        }
        return answer;
    }
}

 

๋ฐฉ๋ฒ•3

class Solution {
    public String solution(String my_string, String overwrite_string, int s) {
        StringBuilder sb = new StringBuilder(my_string);
        sb.replace(s, s + overwrite_string.length(), overwrite_string);
        return sb.toString();
    }
}

 

๋ฐฉ๋ฒ•4

class Solution {
    public String solution(String my_string, String overwrite_string, int s) {
        String answer = "";
        StringBuffer sb = new StringBuffer(my_string);
        sb.replace(s, s+overwrite_string.length(), overwrite_string);
        answer = sb.toString();
        return answer;
    }
}

.

.

 

๋ฌธ์ž์—ด ์ž๋ฅด๋Š” ๋ฉ”์†Œ๋“œ - substring( )

substring( ) ๋ฉ”์†Œ๋“œ๋Š” ๋ฌธ์ž์—ด์˜ ํŠน์ • ๋ถ€๋ถ„์„ ์ž˜๋ผ๋‚ด๋Š” ๋ฐ ์‚ฌ์šฉํ•œ๋‹ค.

 

substring( ) ๋ฉ”์†Œ๋“œ๋Š” ๋‘๊ฐ€์ง€ ํ˜•ํƒœ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

1)  public String substring(int startIndex)

2)  publis String substring(int startIndex, int endIndex)

 

1) substring(int startIndex)

startIndex๋ถ€ํ„ฐ ๋๊นŒ์ง€์˜ ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•œ๋‹ค.

public String substring(int startIndex)

 

 

hianna๋‹˜๋ธ”๋กœ๊ทธ์ฐธ๊ณ 

 

substring( ) ๋ฉ”์†Œ๋“œ๋Š” ์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด

substring( ) ๋ฉ”์†Œ๋“œ์— ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ 1๊ฐœ๋งŒ ์ „๋‹ฌ(strartIndex)ํ•˜๋ฉด

๋ฌธ์ž์—ด์˜ startIndex๋ถ€ํ„ฐ ๋๊นŒ์ง€์˜ ๋ฌธ์ž์—ด์„ ์ž˜๋ผ์„œ ๋ฆฌํ„ดํ•œ๋‹ค.

(index๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค.)

 

2) substring(int startIndex, int endIndex)

startIndex(ํฌํ•จ)๋ถ€ํ„ฐ endIndex(๋ถˆํฌํ•จ)๊นŒ์ง€์˜ ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•œ๋‹ค.

 publis String substring(int startIndex, int endIndex)

 

hianna๋‹˜๋ธ”๋กœ๊ทธ์ฐธ๊ณ 

 

substring() ๋ฉ”์†Œ๋“œ๋Š” ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด

substring() ๋ฉ”์†Œ๋“œ์— 2๊ฐœ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋ฉด(startIndex, endIndex)

startIndex๋ถ€ํ„ฐ endIndex๊นŒ์ง€์˜ ๋ฌธ์ž์—ด์„ ์ž˜๋ผ์„œ ๋ฆฌํ„ดํžŒ๋‹ค.

์ •ํ™•ํ•˜๊ฒŒ๋Š” startIndex๋ถ€ํ„ฐ lastIndex ์ „๊นŒ์ง€์˜ ๋ฌธ์ž์—ด์„ ์ž˜๋ผ์„œ ๋ฆฌํ„ดํ•œ๋‹ค.