SWE/SSAFY

[Ssafy/싸피] 2 - 3달차 일기 + 삼성 SW 역량테스트 B형 합격 수기

_혀니 2024. 10. 8. 23:56
728x90
반응형

8월은 우울이상태였고
9월은 좀 할만해짐

알고리즘

Leetcode를 풀긴 했는데 알고리즘 무식이 상태였다. 다시 시작하자는 마음으로 재귀 순조부 싹 정리하고 (우리반 강사님 짱^^ 사실 나는 이 개념도 몰랐었다) 하루 평균 4~5문제, 폼 좋으면 7~8문제, 별로면 2문제(Leetcode daily challenge + 과제만 했다)씩 풀면서 공부했다. 백준 아이디도 20살 때 게임 아이디로 가입해버려서 깃허브 아이디랑 통일해서 재가입했다... real 새로운 시작 ㅎㅎ
싸피 들어오고 나서는 Leetcode는 130~150문제정도 풀은 것 같고, 백준은 54문제, 프로그래머스 12문제, SWEA 90문제 해결했다. 3달간 300문제니까 1달 100문제.. 30으로 나누면 일평균 3~4문제니까 알고리즘 빡겜하던때 많이 푼 거랑 주말에 데일리 문제 하나만 풀고 쉰 거 생각하면 맞게 계산된듯.
 
혹시 웹사이트 사용해서 알고리즘 공부하실 분들에게..


Leetcode

Study plan에서 Top interview 150 선택하고 위에서부터 풀되, Easy->medium->hard순서대로 푸시는 걸 추천.
Easy레벨을 무난하게 풀 수 있는 수준이면 Daily challenge도 병행해주시면 효과가 좋습니다.
 

백준

solved.ac 가입하시면 문제별 티어 보이는건 아실테고, 
solved.ac 안에 클래스가 있는데 여기서 비기너면 클래스 2~3(브2 - 실2),
어느 정도 코테 (특히 대기업)수준이 필요하면 4~5(실1 - 골1)정도를 풀어보시는 걸 추천합니다.



B형 합격!

나는 2번 쳐서 합격했다. 첫 번째 시험은 무슨 짓을 해도 테케 통과가 안되길래 로직이 틀렸구나! 하고 GG쳤는데 합격자 친구랑 로직과 자료구조를 비교했더니 동일했다... 그럼 난 뭘 잘못한건데?
그래서 오답 분석을 좀 많이 하고, 2가지 결론을 내렸었다.

1. 회전을 적용할 때 인덱싱을 잘못해놓고 모르고 있었거나
2. 배열을 변수로 변환할 때 비트마스킹 대신 string을 사용한 것 (유력!)

2번이 유력한 이유는.. 다른 Pro문제를 풀면서도 느낀건데 int타입이면 정답이고 string타입이면 오답이다. 값은 똑같은데..!! 예를 들면, int로 423을 저장하면 정답이고 string으로 "423"을 저장하면 틀린다. 비교에서 문제가 생긴건지? C++로 풀어서 큰 문제 없을 것이라고 생각했는데 내가 몰랐던 무언가의 특성인지? 찾아보고 추가해야겠다.
 
2번째 시험은 자바로 풀었다. List의 indexOf를 사용하면 편할 것 같아서.. (하지만 쓰지 말고 이분탐색을 해라 이 메소드 O(n)임 😱)
처음에 트라이 생각했는데 개수 세고 인덱스 찾는 게 트리 하나하나 찾으면 시간도 시간이고 재귀 + 연산 복잡해질 것 같아서... 그냥 첫글자 HashMap + List로 풀었다. Map<Character, ArrayList<String>> 구조!
 
B형은 일반적인 코딩 테스트랑 유형이 좀 다르다. 현란하고 어려운 알고리즘 스킬보다 적절한 자료구조 선택과 최적화, 사용하는 프로그래밍 언어에 대한 깊은 지식이 당락을 좌우한다는 느낌. B형 유형의 문제(SWEA Pro)를 많이 풀어보시는 것을 권한다. 싸피 들어와서 지금까지 만든 성과 중 제일 맘에 든다^^ 
 

공식 결과면 이력서에 써도 되나요? (사실 웹사이트엔 이미 올렸어요...)

 

평가...? 

나는 과목평가 점수가 유독 낮게 나온다. 공부를 하든 안 하든... 무조건...... ㅠㅠ 아무래도 CS지식자체가 부족한건지? 더 유력한 원인은 내가 공부를 잘못하고 있을 확률이라는 것이다... 싸피 웬만한 건 다 대외비지만 뭐 가르치는지는 지원할 때도 나와있지 않나? 프론트 배우고 디비 배우고 지금은 백엔드다. 프론트는 재앙급이고 디비 백엔드는 좀 나음. 당연히 나아야지 난 백엔드 개발자니까!!!!!!

응~ 이거야~
백엔드 시작하고 과목평가 징크스 탈출했다 ㅎ..

728x90
반응형