
뉴스피드 프로젝트의 시작이었다. 일단 첫 날은 기획 및 역할 분배에 시간을 많이 투자해야하기 때문에 긴 회의를 여러 번 하느라 시간을 많이 보냈다. 우리 팀의 관심사를 종합해본 결과 게임이 가장 많은 사람들의 관심사였기 때문에 우리의 카테고리로 결정했고, 팀명인 "하지만 빨랐조?"와 관련해 속도감이 느껴지는 프로젝트명이 뭘까 하다가 한 팀원분이 "스피드런"이라는 이름을 생각해내셔서, 게임 관련 용어이기도 하고 아주 적절하다는 판단이 들어 프로젝트명으로 설정하게 되었다.
나는 팀장님이 가장 어렵다고 생각하신 마이 페이지를 맡기고 싶어하셔서 기쁘게 맡았다. 팀플에서 최대한 많은 도움을 주고 싶어하는 내 성격 상 어려울수록 해내려고 할 것 같아 내 실력 향상에도 도움이 많이 될 것 같다. 또한 게시물 페이지도 추가적으로 맡아, 메인에서 게시물 클릭 시 해당 게시물을 볼 수 있는 페이지를 제작할 예정이다.
아직은 프로젝트 초반이고, 해보지 않은 supabase 등을 사용해야하기 때문에 어려울 걱정이 많이 되지만, 저번부터 느낀대로 혼자 하는게 아니라 팀원분들, 튜터님들과 함께 하는 것이기에, 두려워말고 차근차근 해나가면 될 거라고 생각한다!
튜터님과 면담을 했다. 튜터님이 스트레스 받는 부분 없냐고 물어보셔서, 여러가지 요소를 말씀드리고 주말에도 조금씩은 꼭 한다고 말씀드렸는데, 그래도 번아웃이 올 수 있기에 하루 정도는 쉬는걸 추천한다고 하셨다. 캠프가 짧은 것도 맞지만 그래도 아직 12주나 남았으니, 계속 그렇게 하다간 체력적으로 지칠 수 있다고... 그 말씀을 하시면서 튜터님의 동료들 중 그렇게 열심히 하는 사람들도 리프레쉬를 자주 하면서 밸런스를 유지하셨다고 했다. 맞는 말이라고 생각한다. 앞으로 밸런스를 잘 조절해야겠다고 생각했다. 그게 제일 어렵지만...!
주어진 문자열 배열에서 가장 긴 팰린드롬을 찾아 반환하라. 만약 팰린드롬이 없다면 빈 문자열을 반환한다.
function findLongestPalindrome(words) {
// 팰린드롬 여부를 체크하는 함수를 내부에 선언한다.
// 결과를 return해줄 빈 문자열 변수를 선언한다.
// 길이가 같은 팰린드롬이 여러 개라면 사전 순서대로 가장 앞에 있는 것을 선택해야하므로 미리 sort를 통해 사전순으로 배치한다.
// 반복문을 돌려 words 내 요소가 팰린드롬이고, 현재 result의 길이보다 해당 요소의 길이가 더 길다면 result를 해당 요소로 바꾼다.
// 반복문이 다 돌면 result를 return 한다. 팰린드롬이 없는 경우에도 result는 ""인 상태이므로 그대로 반환한다.
function isPalindrome(s) {
s = s.toLowerCase().replace(/[^a-z]/g, "");
for (let i = 0; i < Math.round(s.length / 2); i++) {
if (s[i] !== s[s.length - (i + 1)]) {
return false;
}
}
return true;
}
let result = "";
words.sort();
for (let i = 0; i < words.length; i++) {
if (isPalindrome(words[i]) && result.length < words[i].length) {
result = words[i];
}
}
return result;
}
팰린드롬 여부를 체크하는 함수를 내부에 선언한다.
결과를 return해줄 빈 문자열 변수를 선언한다.
길이가 같은 팰린드롬이 여러 개라면 사전 순서대로 가장 앞에 있는 것을 선택해야하므로 미리 sort를 통해 사전순으로 배치한다.
반복문을 돌려 words 내 요소가 팰린드롬이고, 현재 result의 길이보다 해당 요소의 길이가 더 길다면 result를 해당 요소로 바꾼다.
반복문이 다 돌면 result를 return 한다. 팰린드롬이 없는 경우에도 result는 ""인 상태이므로 그대로 반환한다.
솔님 엄청나게 열심히신데여 ... >,< 오늘 슬렉에 주신말 감사했어요ㅋㅋ 으쌰으쌰할게요 !