2022 KAKAO BLIND 1차 코테 후기

weenybeenymini·2021년 9월 11일
0

문제후기

1번 구현
여러번 신고를 한 번 신고라고 보고,
신고 당한 사람들 정보로 신고 한 사람의 정보로 알 수 있는 자료구조 사용하면 될 것 같아서

python의 Dictionary를 사용해서 문제를 풀었다
이거 쓰면, 중복도 없어지고, 사람 정보도 넣어놓을 수 있으니까?

신고당한 사람별 dictianary에 신고한 사람 이름, 신고 횟수 넣어놨달까
이러면 여러번 신고를 몇 번은 인정 함 같은 기능도 할 수 있을 것 같아서 좋을 것 같았다
(사실 이렇게 말고 구현하는 방법 모르겠음)

c++은 unordered_map, unordered_set 사용하는 듯
그러게 오히려 c++로 짰으면 시간은 단축했을 것 같다...
알고있지만 많이 안 써본 파이썬 딕셔너리가 왜 먼저 생각났을까..ㅋㅋㅋ 웃기다

2번 수학
진법 변환 후 소수 찾기 문제
진법 변환하는 코드 가져와서
앞에서 부터 쭉 읽으면서 0 나올때 마다
result++ 가능하면 해줌

근데 채점하니까 한 5개 정도 테케를 틀리는 것?
그래서 테케 이것저것 만들면서 하다가 오~~ 뒤에 문제를 풀어야겠다! 했음

그래서 뒷 문제들 좀 풀다가 한 20분쯤 남았을 때 다시 이 문제로 왔는데
갑자기 헐.. 이거 0 자른 숫자들 소수인지도 확인해야하는건가? 라는 생각이 들었음

나는 소수의 규칙을 만족한다~ 라는 건 안 지키고
그냥 아래 제시되어있는 규칙만 만족하면 소수라고 할게! 라고 생각을 한거임..ㅜ 바보..

(그래서 처음에는 문제를 잘 이해 못 하다가 (엥 1, 1은 왜 아님?)
아~ 1은 소수가 아니여서 result++ 안 해준거구나~ 이건 처리해줬다니까? 내 자신 어이없다)

근데 이걸 너무 늦게 생각해서 막 코드 열심히 고쳤지만,
테케 4개 틀리고 마무리

사람들 후기 들어보니까 소수 판단 했는데도 테케 몇 개 틀리는 사람들이 있는거로봐서
내가 소수 처리인거 알았어도 틀렸을 것 같기도하구

(아니 근데 지금 생각해보니 앞에서 0부터 보지말고
그냥 스트링으로 받아서 split('0') 해주고
빈 배열들만 빼고 나머지 숫자들 소수인지 판별해주면 쉬웠을 것 같다..
왜 하나하나 앞에서부터 본 것?)

3번 구현 계산
그냥 차가 0000~9999 들어오니까 배열 useTime[10000] 만들어주고
입차 정보가 없을 때는 -1
입차 정보 들어오면 분별로 업데이트
출차 정보 있으면 시간 업데이트 해주고
정보 다 끝나면 입차 정보만 있는거 시간 업데이트 해주고
마지막에 시간 정보로 가격 계산!

여기서 중요한거는 입차 정보가 없을 때 0 말고 -1 로 처리해야하는 것!
입차 정보가 0분인 경우도 처리해야해서!
이런 예외 처리를 할 수 있는 테케를 알려줘서 고마웠음
없었으면 나는 또 삽질을 하고있었겠지 무서움

4번 dfs
처음에는 라이언의 최대값을 구하면 되는줄 알고 bfs인가 하고 생각했는데
쭉 읽다보니까 라이언이 쏘는거마다 어피치의 값이 변하고, 이 둘 점수 차이가 커야하는거니까

dfs로 이 점수에서 라이언이 화살을 써서 이김
이 점수에서 라이언이 화살 하나도 안 써서 어피치가 이김
이 두 개로 점점 타고 들어가게 구현했음

그러다가 라이언이 화살을 다 쏘거나, 더 봐야할 점수가 없으면 재귀 탈출하게!
점수도 10~0점 경우고, 화살 다 쏘면 탈출하게해놨꾸, 쏠 화살이 있어야 쏠 수 있고?
모든 경우도 다 봐줘야 차이의 최대 알 수 있을 것 같기도하구
dfs가 맞는 것 같아서 이런 방법으로 풀었음

(시간 초과나면 백트래킹으로 더 뒤에 봐도 최대 이 점수 밖에 못 얻어서
지금 너 이정도면 더 볼 필요 없겠다~ 처리도 해주려고했는데 시간 초과는 안 나더라!)

또 한 이슈는 같은 점수 여러가지 방법이 있을때, 낮은 점수를 많이 쏜 경우를 반환! 인데
그냥 dfs하면서 맨 마지막 결과 반환~ 했을 때
테케 2개 정도 틀리더라고 그래서 막 정렬도 해보고 이것저것 해봤는데 잘 모르겠어서
그냥 결과 벡터 돌면서 확인해줬다

5번 트리
이진 트리에 노드가 별로 없어서 높이가 그렇게 안 높을 것 같고,
막 완전 이진 트리같이 예쁜 애도 아니니까 bfs로 풀어야겠다는 생각을 했음

check를 이 노드에 이런 양의 수랑, 이런 늑대의 수로 와봤어 다르면 또 지나가~
하고 짜봤는데 시간 초과

그래.. 어떤 지점에 오는데 양의 수는 똑같은데, 더 늑대먹고 오면 안 되지.. 하고
양의 수만 check하는 식으로 해봤는데 시간초과인가 틀렸습니다 인가..

그래서 아 그냥 bfs로는 안 되는건가 하고
막 leaf node에서부터 이 밑에서부터 나까지 얻을 수 있는 양의 수, 늑대의 수 저장해놓고
이 정보 사용해보려고 노력해보고 막 별별 짓하다가
테케 5개 맞췄나? ㅋㅋㅋ웃겼다

근데 다른 사람들 후기 들어보니까 그냥 bfs로 체크만 잘 해주면 되는 것 같더라..
정답 코드 나오면 좀 봐야겠다

6번 누적합
문제 딱 보고 효율성 문제에
1000 * 1000 맵 크기
범위 안에 값을 늘리고, 줄여가면서 값이 0 이하인 부분의 개수 구하기?

이거 맨날 이중 포문돌면서 공격, 회복 쿼리마다 다 해주기엔 시간 초과 날게 뻔했고
구간합인가보다~~ 까지의 생각은 쉽게 떠올렸음

근데 구간합을 써서 값 변경 문제는 많이 안 접해봤던 것 같아서? 자신이 없었달까
그래서 나중에 풀어야겠다는 생각을 했는데, 와우- 시간 부족 시간 부족!
(아니 나 왜 56번 열심히 함?)
(결국 정확도 점수도 못 얻었달까? 이거라도 얻었어야했는데..)

7번 구현?
문제 이해까지는 했는데 7번을 풀려는 생각을 안 했다!
뭔가 뭐뭐를 구해야하네.. 오 근데 나 이거 알 수 있음? 자신 엑스!
효율성도 맞춰야한다고? 에에 - 정도였달까

주절주절

이번에는 예전 블라인드 코테보다 쉬웠다는 의견이 많더라
다들 4.5솔은 해서 막 4.5솔 컷일 것 같다면서 말하던데...흑흑

나도 풀면서 와 앞부분 정말 쉽다 라는 생각은 했지만
앞 문제 푸는데 시간을 많이 써서, 뒷 문제에 시간을 많이 쓸 수 없었다! 오노~~
나는 한 문제에 너무 노력을 한다거나, 한 문제에 멘탈이 나가버린다거나 그러는 듯

4번까지 3시간 걸리고 5번에서 2시간 정도 쓴듯?
앞으로는 쉬운 문제는 빨리 풀 수 있게 노력해서 4번까지 2시간 30분만에 하고
5번 1시간
6번 1시간 이렇게 할 수 있게 노력해봐야겠다..

내 앞으로가 어떻게 될 지는 모르겠지만 ~ 하하하ㅏ
붙을지 안 붙을지도 모르겠어서 붙으면 감사합니다~~ 고
안 붙으면 다른 곳들 열심히 준비하다가..
겨울 방학 인턴.. 넣어보고.. 안 되면 상반기 준비하고.. 미래가 어떨까나

+결과는 탈.. 4솔도 몇몇 탈락한 것 같더라
1234 다 맞추고, 6번 정확도를 맞추는 식으로 전략을 세웠어야 했는데..
인생 쉽지 않군!~~!~!ㅎㅎㅎㅎㅎ

네이버 웹툰 코테도 구글링 불가능에 c++ 사용 불가던데
설마 네이버도 이렇게 공채 하려나?
삼성 sw 역량검사 구현 문제들은 많이 준비도 안 했는데 언제 풀지..
파이썬 사용법 정리나 하러가야겠다~!ㅎㅎㅎㅎㅎ

0개의 댓글