inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Các khái niệm và vấn đề bạn phải biết trước khi thi viết code (với Java)

Vấn đề 3) indexof(), chuỗi con()

만약 문자열이 매칭되는 조건("arrest", "test")이 문자열의 인덱스 기준 뒤에서부터 발생하면 어떻게 풀어야할까요?

Đã giải quyết

434

andyyj

1 câu hỏi đã được viết

2

만약 "arrest", "test" 처럼 두 개의 문자열 비교시 매칭되는 문자열이 "est"로 뒤에서부터 맞춰진다면 이런 경우는 어떻게 풀어야 할까요?

java 코테 준비 같이 해요!

Câu trả lời 1

1

pushupman

DevAndy님 안녕하세요~

코딩 열심히 하시고 계신가요??

질문주신내용 : 만약 "arrest", "test" 처럼 두 개의 문자열 비교시 매칭되는 문자열이 "est"로 뒤에서부터 맞춰진다면 이런 경우는 어떻게 풀어야 할까요?

=======================================================

문자열의 마지막부터 읽는게 없어서 조작을 해야겠죠.

아래 2개의 경우를 생각하게 됩니다.

저는 1번을 선택합니다.

1. 뒤에서 읽는게 귀찮으니 , 최초에 받은걸 revers 하는 방법

문자열을 reverse에서 기존로직에 태우는방법

test => tset 이런식으로 

arrest => tserra

2. 문자열 length를 이용해서 마지막 문자부터 하나씩 잘라서 (substring 으로 )

새로운 StringBuilder에 하나씩 담아서 비교하기..좀 골치가 아플거 같네요 

1번 방법 소스입니다.

1번방법 소스입니다.

package String;

public class Test_charAt_03 {

public static void main(String[] args) {

// String str[] = { "test", "teacher" };

String str[] = { "test", "arrest" };

System.out.println(new Test_charAt_03().solve(str));

}

public String solve(String[] strs) {

if (strs.length == 0)

return "";

//1. reverse

String[] strArray = new String[strs.length];

for (int i = 0; i < strs.length; i++) {

String str = strs[i];

StringBuilder sb = new StringBuilder();

for (int j = str.length() - 1; j >= 0; j--) {

char c = str.charAt(j);

System.out.println("c " + c);

sb.append(c);

strArray[i] = sb.toString();

}

}

//2. 기존로직

String firstStr = strArray[0];

for (int i = 1; i < strArray.length; i++) {

while (strArray[i].indexOf(firstStr) != 0) {

firstStr = firstStr.substring(0, firstStr.length() - 1);// test, test, te

}

}

//3 얻은 값 다시 reverse

StringBuilder reStr = new StringBuilder();

for (int i = firstStr.length() - 1; i >= 0; i--) {

char c = firstStr.charAt(i);

reStr.append(c);

}

return reStr.toString();

}

}

}

0

andyyj

코드까지 이렇게 다 작성해주시다니..!

들어온 데이터를 reverse해서 기존 로직으로 검증을 하면 되는거였군요.

감사합니다!! 열심히 그리고 즐겁게 코딩하겠습니다..!

질문 드립니다!

1

249

1

PriorityQueue

1

337

1

면적을 구하는 res를 for문 내에 있는 if문 안에 넣으면 되지 않나요?

1

311

1

강의에 있는 자료구조만 공부하면 되나요??

1

229

1

bfs, dfs 강의 자료

1

241

1

문제가 이해가 안가요

1

323

1

그림이 잘 이해되지 않습니다.

1

182

1

어떤 문제인지에 대한 설명이 없어서 이해가 안가네요;;

1

300

3

강사님 문제가 잘 이해가 안가요

3

180

1

merge함수 질문 있습니다.

1

226

1

dp 강의자료 어딧어요??

1

379

2

응용문제4) DFS 응용문제 질문이요!

1

161

1

Dp HouseRobber 질문

1

222

1

DP 1분 간단 영상이 보이지 않습니다.

1

285

1

스택 문제 영상이 추가적으로 들어갔습니다.

1

158

1

list 질문입니다

2

189

1

DP문제 문의

1

237

2

Comparator 질문입니다.

1

468

2

안녕하세요. 질문입니다.

1

262

1

BFS 게임 맵 최단거리 문의

1

328

3

코딩테스트 처음 입문 했는데 질문이 있습니다.

1

153

1

안녕하세요. 수강생입니다. 이 강의만 전부 소스 보낼 수 있을까요?

1

159

1

추가 강의 문의.

1

367

3

개념 설명이 잘못나온거 같습니다.

1

157

1