백준 3078 "좋은 친구" (JAVA)
·
알고리즘(JAVA)
🔍 문제링크https://www.acmicpc.net/problem/3078📌 문제 요약그룹 단어: 같은 문자가 연속해서 나오는 단어.학생 N명이 줄을 서 있으며, 같은 길이의 이름을 가진 학생끼리 좋은 친구.좋은 친구가 되려면 서로 K 이하의 거리에 있어야 함.좋은 친구 관계의 총개수를 출력.🛠 풀이 및 알고리즘학생 이름의 길이를 기준으로 그룹화같은 길이의 이름을 가진 학생들을 HashMap>에 저장.키(key): 이름의 길이, 값(value): 해당 길이의 이름을 가진 학생들의 인덱스 리스트.투 포인터(two-pointer) 사용각 그룹별로 왼쪽(lt), 오른쪽(rt) 포인터를 활용하여 K 거리 내에 있는 친구 쌍을 빠르게 탐색.시간 최적화투 포인터(O(N))를 활용하여 효율적으로 친구 쌍을 계..
5jeong