본문 바로가기

알고리즘

TopCoder 전체 탐색! (인싸를 찾아라!)

반응형

 

여러분은 소셜 네트워크 서비스에서 가장 인기 있는 서람을 찾으려고 합니다. 이를 위해"친구의수"를 셉니다. 일단 그들이 서로 친구라면 친구입니다. 또한 c사람이 a사람과 b사람의 공통친구 라면 a사람과 b 사람도 친구입니다. 가장 인기 있는 사람은 친구의 수가 가장 많은 사람입니다.

문자열 자로형의 String [] friends가 주어집니다. 만약 i번째 사람과 j번째 사람과 친구라면 i번째 요소의 j 번째 글자가 y 입니다. 반면 친구가 아니라면 n입니다. 소셜 네트워크 서비스에서 가장 인기 있는 사람의 친구 수를 리턴해주세요

 

 

 

이번 문제는 friends[i] friend[j] 가 친구인지 일단 검색하고 만약 친구가 아니라면 다른 사람과 i 가 j 가 친구인지 알아봐야한다

만약 i와 j가 친구라면 count 해주고 만약 아니라면 다른사람인 뭐.. 음 s? 와도 친구인지 확인해서  y값인지 확인하고 조건에 모두 만족하면 count 해주면되고 솔직히 문제를 어떻게 풀어야 할지는 알겠다 근데 코딩을 어떻게 해야할지 모르겠다.... 허허허허허 

 

그래도 하다보면 생각이 나겠지 싶어 시작했지만 frends[i].charAt(j) == y 까지 밖에 못했다 나머지 임의의 사람과도 비교 해야하는데 i와 j를 어떻게 비교 해야 하는지 모르겠다 자꾸 숫자값이 0이 나오길래 결국 마지막은 책을 봤다

 

 

 

 

그래 결국.. 봤다.. 안보고 문제를 풀고 싶었으나 안됬다.. 이번엔 콘솔에 찍지 않아도 이해가 가서 다행이다 이거만으로.. 그냥 만족하고 있다.. 처음에 내가 생각한 것과 는 조금 달랐다. i와 j를 통해서 전체 탐색을 통해서 s와도 친구인지를 확인하면 된다고 생각했는데 말도 안되는 소리엿고 따로따로 비교를 해서 값을 얻어내야 했다 

 j에 s 가 있는지 확인하고 s에 i가 있는지 확인을 한다 그러면 카운트가 되는데 결국엔 저 조건이 모두 만족한 사람이 친구가 가장 많은거네??? 난 특정한 사람들끼리 먼저 비교 하고 맞다면 count 해주고 아니라면 ! 여기서 어떻게 비교를 해야 하지 하다가 freind[i].chartAt(i) == friends[s].charAt(i) 이런식으로 j도 비교 했는데 계속 값이 0이 나오길래 뭐가 잘못된지 몰랐다 

 

지금도잘 모르겠다.... 하루에 2문제씩 풀어보는데 너무 어렵다 처음엔 문제를 이해도 못했다 

근데 지금은 문제를 어느정도 이해를 하고 있다 그래서 바로 코딩이 되는 것도 있지만 결국 끝까지 못한다.. ㅠㅠ 

언제쯤 될지 .. 

 

 

 

 

반응형

'알고리즘' 카테고리의 다른 글

알고리즘(시저 암호 암호화 복호화)  (0) 2020.11.26
TopCoder 전체 탐색! (회문)  (0) 2020.11.22
TopCoder 전체 탐색! (암호)  (0) 2020.11.12
TopCoder(전체탐색) 즐거운파티  (0) 2020.11.11
키위주스  (0) 2020.11.09