728x90
반응형

인사혁신처에서 2023년 공무원 봉급표를 확정 짓고 공개했다.

4급 이상 고위공무원 보수는 동결되었고, 5급 이하 공무원의 보수는 1.7% 인상되었다.

공무원의 우두머리라고 불리는 윤석열 대통령의 연봉은 약 2억 4,500만 원으로 동결되었다.

 

많은사람들이 가장 궁금해할 만한 7급 공무원, 8급 공무원, 9급 공무원의 연봉 인상률은

호봉이 낮은 8급, 9급 공무원 대상으로 연봉 인상율이 다르게 책정되었기 때문에 조금의 차이를 보인다.

 

특히 5급 공무원, 6급 공무원과 같이 1.7% 인상율을 보인 7급 공무원 연봉과 달리

9급 1∼5호봉과 8급 1∼2호봉 임금이 3∼5%가량 오르며

실제 생활하기에 어려움이 있을 정도로 박봉이라는 저연차 말단 공무원의 목소리가 반영된 듯하다.

 

 

위의 표가 인사혁신처에서 공개한 2023년 공무원 봉급표이다.

인사혁신처에서는 매년 1월 경 새로 확정된 공무원 봉급표를

일반직 공무원, 전문경력관, 공안 업무 등에 종사하는 공무원,

지도직 공무원, 일반직 우정직군 공무원, 경찰/소방공무원 및 의무경찰 등,

유치원, 초, 중, 고, 교원 등 다양한 공무원 직종별에 해당하는 봉급표를 공개하고 있다.

 

 

 

공무원 보수규정을 참조하면 더 자세한 내역을 확인할 수 있으며

인사혁신처 홈페이지의 주소는 다음과 같다.

 

인사혁신처 공무원 봉급표 주소 : https://www.mpm.go.kr/mpm/info/resultPay/bizSalary/2023/#pay2023_1

 

인사혁신처

인사혁신처 홈페이지에 오신것을 환영합니다.

www.mpm.go.kr

 

 

인사혁신처 메인 홈페이지 주소 : https://www.mpm.go.kr/mpm/

 

인사혁신처

이 누리집은 대한민국 공식 전자정부 누리집입니다.

www.mpm.go.kr

 

728x90
반응형
728x90
반응형

2021년 서울시 7급 공무원 시험 날짜는 10월 16일이었습니다.

원서접수한 인원에서 실제 시험장에 오지 않은 결시인원을 제외한 경쟁률이 오른쪽에 표기되어 있습니다. 

(맨 아래 사진과 pdf첨부파일 참조, 출처: 서울특별시공무원 인터넷 원서접수 사이트)

 

서울시에서는 원래 합격선, 점수, 양성평등 합격선, 합격자 성비 등 다양한 정보를 함께 공개해줬는데

2021년 제2회 서울특별시 지방공무원 임용시험에 대해서는 아직 그 통계자료가 공개되지 않은 상황입니다.

 

(양성평등) 한쪽의 성이 선발예정인원의 30%가 되도록 인원을 초과하여 합격

(동점자) 합격선에 동점자가 있는 경우 선발예정인원을 초과하여 전원 합격

 

 

시험 응시자들끼리 만들어진 오픈채팅이나 공단기 합격점수 예측 등에 의해 서울시 일반행정 직렬 합격선만 어렴풋이 추측할 수 있는 정도인데

2021년 기준으로 평균 90점(총합450점)이 1.61배수컷에 걸렸습니다.

합격발표 전에 90점(450점)이 합격컷인지, 91점(455점)이 컷인지 굉장히 의견이 분분했던 바 있고,

서울시 7급 일반행정 최종합격자는 239명으로 90점(450점)으로 합격한 경우는 일부 면접우수자만 있을 것으로 추정되고 있습니다.

 

2021년도 제2회 서울특별시 지방공무원 임용시험 현황(출원 21_003명_ 응시 12_492명).pdf
0.11MB

 

 

728x90
반응형
728x90
반응형

하루 평균 약 40만 개의 택배 물량이 배송에 차질을 빚고 있다고 한다.

택배기사 2만여명 가운데 약 1천650여명이 파업에 참여한 만큼 아직 전국적인 택배 대란은 벌어지지 않고 있지만, 온라인 판매업체와 파업 참여 노조원이 많은 지역 소비자들의 불편이 현실화하고 있다.

 

일부 지역 소비자들은 대리점에 직접 방문하여 택배를 찾아왔다고 하니 가능할 수도 있다.

 

CJ대한통운 파업으로 인한 택배 불가 지역은 다음과 같다. 

<택배 불가 지역>

강원 : 동해시/ 삼척시/ 양구군/ 인제군/ 순천시/ 화천군

경기 : 고양시, 과천시, 광주시, 군포시, 김포시, 부천시, 성남시, 시흥시,

안성시 안산시 여주시 용인시 의정부시 이천시 포천시

경상: 거제시 김해시 의령군 인주시 창녕군 창원시 함안군 경주시 포항시

대구: 달서구 달성군 북구광주: 광산구 남구 동구 북구 서구

부산: 강서구 남구 사상구 사하구 연제구

서울: 강남구 강서구 노원구 송파구 양천구 중랑구

세종: 도담동 연기면 연동면 조치원읍 한솔동 합강동

울산: 남구 동구 북구 울주군 중구

인천: 옹진군

전라: 여수시 장성군 군산시 전주시 정읍시

제주: 서귀포시 제주시

충청: 서산시 예산군 태안군 홍성군 단양군 음성군 제천시 진천군 청주시

728x90
반응형

'KR' 카테고리의 다른 글

韓国の若者言葉「인생~」  (0) 2020.11.09
728x90
반응형

필자 베이스

- 서울소재 4년제 대학 졸업

- 토목기사, 토익, 한국사 자격증 이미 있었음

 

수험기간 약6개월

- 3월 퇴직준비하면서 주말만 책 조금씩 보다가 3월중순 퇴사, 4월부터 전업시작

 

0. 국어

 - 본 책 : 2020 에듀윌 7급 9급 공무원 기본서 국어(배영표), 선재국어 기출실록

 - 본 인강 : 에듀윌 배영표 기본 인강 

 - 일부러 배영표 강사를 골라서 본 건 아니고, 2020년 배영표 강사가 찍어둔 강의를 들을 수 있었기 때문에 일부러 2020년 책도 중고로 찾아 사서 들었다. 강의력이 좋았는데 말씀이 느리셔서 1.7배속까지 올려서 시청했다. 전체적인 진도는 7월에 예정되어 있었던 국가직 PSAT 시험 준비로 바빠지기 전에 어문규정 1회독 이상은 해야할 것 같다고 생각해서 암기가 덜 되어도 (복습 거의 안한 채로) 인강 1회독을 빨리 빼기 위해 쭉쭉 들었다. 이게 나중에 가서 은근히 도움이 되었던 것 같다.

 또 개인적으로 국어라는 과목에 흥미도 좀 있었기 때문에 지루하지 않게 공부할 수 있었다. 이게 꽤 중요한 부분인 것 같은데 어처구니 없게 미묘하게 다른 어문규정같은 것들에도 '아니, 이걸 왜 이렇게 ㅡㅡ' 하면서 짜증내서 공부하는 것보다 '오 이건 이렇게 저건 저렇게 쓰네'하면서 공부했기 때문에 스트레스도 덜 받고 잘 정리해가면서 외울 수 있었다고 생각한다.

 한자는 배경지식으로 좀 알고 있던 게 많았기 때문에 2글자 한자를 익히는 속도는 남들보다 빨랐다고 생각하지만, 사자성어는 정말 애를 많이 먹었고 또 스트레스를 많이 받았다. 배영표 강사의 책에도 사자성어 파트가 포함되어 있고, 선재국어 어플을 통해서 나름 꾸준히 공부를 했지만 본 시험에서는 사자성어 문제를 틀렸다. 사실 마인드셋 자체도 '100점에 가까운 점수를 얻는 시험이라기보다 맞출 건 맞추고 덜 틀리는 시험이다'라는 것이었기 때문에 꼼꼼히 안 본 것 + 그 많은 사자성어를 다 외우고 나올지 안 나올지도 모르는 한 문제를 맞추는 게 공부 가성비가 안나온다고 생각했던 게 더 컸던 것 같다. 토목직 합격선이 일반행정직 합격선과 차이가 나기 때문에 세울 수 있었던 전략일지도. 

문학은 고등학교 때 국어를 거의 안 하다시피 해서 굉장히 힘들었다. 문학 작품을 알아도 그걸 우리나라 국어 교과용으로 해석한 것들을 잘 모르고 있었기 때문에 어려웠다. 그냥 다짜고짜 기출문제를 풀고 엄청 틀려가면서 해설을 읽어가면서 공부했다.

비문학은 5급, 7급 PSAT 언어논리를 풀면서 숙달된 것들이 도움이 많이 되었다. 

 

 

< 전공과목공통 >

2008년~2019년 기출문제 5회독 이상.

2020년 기출문제 3회독.

인강은 응용역학만 듣고 나머지 과목은 책으로 독학.

 

1. 응용역학

- 이학민 응용역학 수강, 관련 교재 문제풀이만 죽어라 반복.

- 사실 토목직 준비하는 사람은 이학민 응용역학으로 수렴할 것 같긴 하다. 근데 또 그럴만하다. 9급 수강생이 압도적으로 많아서 그런지 9급 맞춤으로 다소 지나치게 쉽게 설명하는 경향이 조금 있지만, 그것만 잘 알아서 필터링하면 공무원시험용 응용역학에 필요한 부분을 잘 짚어주고 책에 공식도 잘 정리되어 있다. 인강 도중 '안 해도 됩니다' 하는 것들도 7급은 다 해야 한다. '와 이걸 다 외워?' 하는 것도 외워야 한다. 그리고 시험장에서 그게 다 빛을 본다.

태블릿으로 공부했기 때문에 단원별로 기출문제를 다 찍어두고 4번 이상은 계속 지워가면서 다시 풀었다. 답을 외운 것 같아도 계속 다시 풀었다.

 

2. 물리학개론

- 본 책 : 스마트물리학개론(신용찬), 할리데이 일반물리학 I,II, 7차교육과정 하이탑 물리II

- 물리는 고등학교때부터 빡세게 해놔서 베이스가 좋았던 편이라고 생각한다. 대학교에서 들은 일반물리학 성적도 좋았고.. 다만 이걸 공무원시험용 물리머리로 바꾸는 데에 시간이 좀 걸렸다. 물리 과목 특성상 공식이나 이론을 파서 한 번은 뜯어봐야 이해가 되는 게 많은데 그 이후에 '아 이건 외워야겠네' 하는 것들은 빠르게 암기로 돌리는 게 주요했던 것 같다. 필수로 외워야겠다 싶었던 걸 노트로 정리한 것만 글자를 빼곡히 썼는데도 A4 4장가까이 나왔으니.

어찌됐든 객관식이고 명확한 이론들을 사용해서 문제를 내는 공무원 시험이기 때문에 고등학교 과정 치고 어렵게 구성된 하이탑 물리2가 꽤 도움이 많이 됐다.

 

3. 수리수문학

- 본 책 : 수문학(이재수), 수리학(송재우), 수리수문학(김가현), 기초수문학(윤용남), 수리학(최성욱), 하천수리학(우효섭), 수리학(이재수), 유체역학(Gerhart)

- 지엽적인게 많아서 진짜 공부하면서도 재미가 안 붙었었고 짜증이 많이 났던 과목이다. 인터넷으로만 검색하다가 틀린 정보들도 많은 것 같고 이렇게 공부해서는 답이 없겠다 싶어서 대학교도서관에서 전공책을 정말 여러 권 빌려봤는데, 전공책들을 뒤져봐도 잘 설명되지 않은 것들이 많아서 애를 많이 먹었다. 대놓고 못 풀게 나오는 문제가 몇 개 섞여있으니 거기에 개의치 않고 공부하는 게 스트레스 안 받고 공부할 수 있는 팁.

 

4. 토질역학

- 본 책 : 토질역학(이인모), 탈탈토목(유튜브 채널), 한솔아카데미 토목기사

- 토질, 지반 관련 과목은 학부 때 섭렵하듯이 많이 들어서 기본지식이 많았던 게 도움이 많이 됐다. 기억이 안 나는 부분은 토목기사 책이랑 토질역학 전공책을 통해서 다시 봤고, 유튜브 탈탈토목에도 관련 내용이 잘 올라와있어서 공부하기 좋았다. 기출풀이 영상들도 꽤 도움이 많이 됨.

( 추가 : 탈탈토목 영상 올리시던 분께서 이제 어디학원에서 강사로 일하시는 것 같네요. 아마 유튜브 영상들 이미 내려가있거나 조만간 내려가지 않을까 싶습니다. )

 

 

 

시험 준비 본격적으로 시작하기 전에 토목직은 합격수기가 너무 없어서 궁금한 게 참 많았다. 그래서 그냥 어떻게 공부했는지 더 까먹어버리기 전에 끄적여본 합격수기인데 '얘는 무슨 인강도 하나도 안 듣고 수험기간도 짧고 공감하기도 힘들고 재미도 없냐' 할만한 합격수기인 듯하니 본인께서 써먹을 수 있는 부분만 빼내서 써먹으시고 좋은 결과 가져가시면 좋겠다.

 

 * 2021년 국가직 토목직 7급 공무원 합격수기 : https://eastarlight.tistory.com/m/47

 

2021년 국가직 7급 토목직 6개월 합격수기

필자 베이스 - 서울소재 4년제 대학 졸업 - 토목기사, 토익, 한국사 자격증 이미 있었음 수험기간 약6개월 - 3월 퇴직준비하면서 주말만 책 조금씩 보다가 3월중순 퇴사, 4월부터 전업시작 0. PSAT -

eastarlight.tistory.com

 

728x90
반응형
728x90
반응형

필자 베이스

- 서울소재 4년제 대학 졸업

- 토목기사, 토익, 한국사 자격증 이미 있었음

 

수험기간 약6개월

- 3월 퇴직준비하면서 주말만 책 조금씩 보다가 3월중순 퇴사, 4월부터 전업시작

 

0. PSAT

- 고등학교 때부터 국어 거의 안 하다시피 해서 언어논리가 가장 힘들었지만 메가피샛 무료강의를 챙겨듣는 것 정도로도 충분히 따라갈 수 있었다고 생각한다. 출제의 결을 좀 빠르게 파악하는 것이 중요할 것 같다. 사실 피셋은 베이스가 있고 없고보다도 진짜로 어느 정도 타고나야하는 부분이 있는 시험이기 때문에 일단 한 번 쳐보고 뭐가 부족한지, 부족한 부분 메우려면 어떻게 공부해야하는지를 찾는 게 더 효과적일 것 같다. 돌이켜보면 국어를 잘한다고 언어논리를 잘 하는 것도 아니고, 수학을 잘한다고 자료해석을 잘하는 것도 아닌 것 같다. 민경채 기출 4개년도 정도 풀어보다가 인사혁신처에서 공식 출제한 7급 모의문제 한 번 풀어본 다음부터는 2014년도 5급 PSAT기출부터 20문제를 한세트로 잘라서 풀었다. 5급 기출로 아예 어렵게 공부한 게 도움이 됐던 것 같다. 덕분에 피셋은 시험장에서도 패닉에 안 빠질 수 있었고 점수도 합격선보다 20점이상 높게 나왔다.

 

< 전공과목공통 >

2008년~2019년 기출문제 5회독 이상.

2020년 기출문제 3회독.

인강은 응용역학만 듣고 나머지 과목은 책으로 독학.

 

1. 응용역학

- 이학민 응용역학 수강, 관련 교재 문제풀이만 죽어라 반복.

- 사실 토목직 준비하는 사람은 이학민 응용역학으로 수렴할 것 같긴 하다. 근데 또 그럴만하다. 9급 수강생이 압도적으로 많아서 그런지 9급 맞춤으로 다소 지나치게 쉽게 설명하는 경향이 조금 있지만, 그것만 잘 알아서 필터링하면 공무원시험용 응용역학에 필요한 부분을 잘 짚어주고 책에 공식도 잘 정리되어 있다. 인강 도중 '안 해도 됩니다' 하는 것들도 7급은 다 해야 한다. '와 이걸 다 외워?' 하는 것도 외워야 한다. 그리고 시험장에서 그게 다 빛을 본다.

태블릿으로 공부했기 때문에 단원별로 기출문제를 다 찍어두고 4번 이상은 계속 지워가면서 다시 풀었다. 답을 외운 것 같아도 계속 다시 풀었다.

 

2. 물리학개론

- 본 책 : 스마트물리학개론(신용찬), 할리데이 일반물리학 I,II, 7차교육과정 하이탑 물리II

- 물리는 고등학교때부터 빡세게 해놔서 베이스가 좋았던 편이라고 생각한다. 대학교에서 들은 일반물리학 성적도 좋았고.. 다만 이걸 공무원시험용 물리머리로 바꾸는 데에 시간이 좀 걸렸다. 물리 과목 특성상 공식이나 이론을 파서 한 번은 뜯어봐야 이해가 되는 게 많은데 그 이후에 '아 이건 외워야겠네' 하는 것들은 빠르게 암기로 돌리는 게 주요했던 것 같다. 필수로 외워야겠다 싶었던 걸 노트로 정리한 것만 글자를 빼곡히 썼는데도 A4 4장가까이 나왔으니.

어찌됐든 객관식이고 명확한 이론들을 사용해서 문제를 내는 공무원 시험이기 때문에 고등학교 과정 치고 어렵게 구성된 하이탑 물리2가 꽤 도움이 많이 됐다.

 

3. 수리수문학

- 본 책 : 수문학(이재수), 수리학(송재우), 수리수문학(김가현), 기초수문학(윤용남), 수리학(최성욱), 하천수리학(우효섭), 수리학(이재수), 유체역학(Gerhart)

- 지엽적인게 많아서 진짜 공부하면서도 재미가 안 붙었었고 짜증이 많이 났던 과목이다. 인터넷으로만 검색하다가 틀린 정보들도 많은 것 같고 이렇게 공부해서는 답이 없겠다 싶어서 대학교도서관에서 전공책을 정말 여러 권 빌려봤는데, 전공책들을 뒤져봐도 잘 설명되지 않은 것들이 많아서 애를 많이 먹었다. 대놓고 못 풀게 나오는 문제가 몇 개 섞여있으니 거기에 개의치 않고 공부하는 게 스트레스 안 받고 공부할 수 있는 팁.

 

4. 토질역학

- 본 책 : 토질역학(이인모), 탈탈토목(유튜브 채널), 한솔아카데미 토목기사

- 토질, 지반 관련 과목은 학부 때 섭렵하듯이 많이 들어서 기본지식이 많았던 게 도움이 많이 됐다. 기억이 안 나는 부분은 토목기사 책이랑 토질역학 전공책을 통해서 다시 봤고, 유튜브 탈탈토목에도 관련 내용이 잘 올라와있어서 공부하기 좋았다. 기출풀이 영상들도 꽤 도움이 많이 됨.

 ( 추가 : 탈탈토목 영상 올리시던 분께서 이제 어디학원에서 강사로 일하시는 것 같네요. 아마 유튜브 영상들 이미 내려가있거나 조만간 내려가지 않을까 싶습니다. )

 

시험 준비 본격적으로 시작하기 전에 토목직은 합격수기가 너무 없어서 궁금한 게 참 많았다. 그래서 그냥 어떻게 공부했는지 더 까먹어버리기 전에 끄적여본 합격수기인데 '얘는 무슨 인강도 하나도 안 듣고 수험기간도 짧고 공감하기도 힘들고 재미도 없냐' 할만한 합격수기인 듯하니 본인께서 써먹을 수 있는 부분만 빼내서 써먹으시고 좋은 결과 가져가시면 좋겠다.

 

 

* 2021년 서울시 토목직 7급 공무원 합격수기 : https://eastarlight.tistory.com/m/48

 

2021년 서울시 토목직 7급 공무원 6개월 합격수기 (국가직 7급, 서울시 7급 동시합격)

필자 베이스 - 서울소재 4년제 대학 졸업 - 토목기사, 토익, 한국사 자격증 이미 있었음 수험기간 약6개월 - 3월 퇴직준비하면서 주말만 책 조금씩 보다가 3월중순 퇴사, 4월부터 전업시작 0. 국어

eastarlight.tistory.com

 

728x90
반응형
728x90
반응형

문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/42579

 

코딩테스트 연습 - 베스트앨범

스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가

programmers.co.kr

 

문제 설명

스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다.

속한 노래가 많이 재생된 장르를 먼저 수록합니다.

장르 내에서 많이 재생된 노래를 먼저 수록합니다.

장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 수록합니다.

노래의 장르를 나타내는 문자열 배열 genres와 노래별 재생 횟수를 나타내는 정수 배열 plays가 주어질 때, 베스트 앨범에 들어갈 노래의 고유 번호를 순서대로 return 하도록 solution 함수를 완성하세요.

제한사항

genres[i]는 고유번호가 i인 노래의 장르입니다.

plays[i]는 고유번호가 i인 노래가 재생된 횟수입니다.

genres와 plays의 길이는 같으며, 이는 1 이상 10,000 이하입니다.

장르 종류는 100개 미만입니다.

장르에 속한 곡이 하나라면, 하나의 곡만 선택합니다.

모든 장르는 재생된 횟수가 다릅니다.

입출력 예

genres plays return
[classic, pop, classic, classic, pop] [500, 600, 150, 800, 2500] [4, 1, 3, 0]

입출력 예 설명

classic 장르는 1,450회 재생되었으며, classic 노래는 다음과 같습니다.

고유 번호 3: 800회 재생

고유 번호 0: 500회 재생

고유 번호 2: 150회 재생

pop 장르는 3,100회 재생되었으며, pop 노래는 다음과 같습니다.

고유 번호 4: 2,500회 재생

고유 번호 1: 600회 재생

따라서 pop 장르의 [4, 1]번 노래를 먼저, classic 장르의 [3, 0]번 노래를 그다음에 수록합니다.

약 45분만에 풀었다.

레벨 3을 처음 풀어봤는데 확실히 레벨2보다는 테크니컬적인 부분도 많이 요구하는 것 같다.

어떻게 풀어야할지 감조차 안잡히는 문제라면 참 머리아팠을 것 같은데 실마리가 보여서 차근차근 쫓아가며 풀 수 있었기 때문에 재미도 조금 있었던 것 같다.

 

from collections import defaultdict
def solution(genres, plays):
    answer = []
    genres_rank = []
    info = defaultdict(list)
    d = defaultdict(int)
    for i, j in enumerate(genres):
        d[j] += plays[i]
        info[j] += [(i, plays[i])]
    for key, value in sorted(d.items(), reverse=True, key=lambda item:item[1]):
        genres_rank.append(key)
    for genre in genres_rank:
        info[genre].sort(reverse=True, key=lambda x: x[1])
    for genre in genres_rank:
        for i in range(min(len(info[genre]) , 2)):
            answer.append(info[genre][i][0])
        
    return answer
​

// Test Case
genres = ["classic", "pop","classic", "classic", "pop","kpop","rock","rock"]
plays = [500, 600, 150, 800, 2500,1700,500,500]

genres_rank 리스트는 인기 많은 장르 순으로 장르의 이름만 따놓는 리스트이다. ['pop', 'kpop', 'classic', 'rock']

info 는 기본적인 모든 정보를 저장하는 리스트이다. 장르별로 분류하고 재생횟수와 고유번호까지 저장해놓는다.

아래는 info의 정렬전후 출력 결과이다.

 

defaultdict(<class 'list'>, {'classic': [(0, 500), (2, 150), (3, 800)], 'pop': [(1, 600), (4, 2500)], 'kpop': [(5, 1700)], 'rock': [(6, 500), (7, 500)]})
defaultdict(<class 'list'>, {'classic': [(3, 800), (0, 500), (2, 150)], 'pop': [(4, 2500), (1, 600)], 'kpop': [(5, 1700)], 'rock': [(6, 500), (7, 500)]})

 

인기가 많은 장르더라도 장르별 TOP2까지만 보여주는 게 목적이기 때문에

2와 장르의 곡수 중 작은 값까지만 반복해서 결과 리스트에 추가해준다.

728x90
반응형
728x90
반응형

https://programmers.co.kr/learn/courses/30/lessons/42885/

 

코딩테스트 연습 - 구명보트

무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 5

programmers.co.kr

무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다.

예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 50kg]이고 구명보트의 무게 제한이 100kg이라면 2번째 사람과 4번째 사람은 같이 탈 수 있지만 1번째 사람과 3번째 사람의 무게의 합은 150kg이므로 구명보트의 무게 제한을 초과하여 같이 탈 수 없습니다.

구명보트를 최대한 적게 사용하여 모든 사람을 구출하려고 합니다.

사람들의 몸무게를 담은 배열 people과 구명보트의 무게 제한 limit가 매개변수로 주어질 때, 모든 사람을 구출하기 위해 필요한 구명보트 개수의 최솟값을 return 하도록 solution 함수를 작성해주세요.

제한사항

무인도에 갇힌 사람은 1명 이상 50,000명 이하입니다.

각 사람의 몸무게는 40kg 이상 240kg 이하입니다.

구명보트의 무게 제한은 40kg 이상 240kg 이하입니다.

구명보트의 무게 제한은 항상 사람들의 몸무게 중 최댓값보다 크게 주어지므로 사람들을 구출할 수 없는 경우는 없습니다.

입출력 예

people limit return
[70, 50, 80, 50] 100 3
[70, 80, 50] 100 3

내 풀이.

태우고 나가야하니까 태우는 순간 계속 빠진다는 점에서 pop과popleft를 쓰고 싶어 우선순위 큐인 데크로 문제를 풀었다.

 

 

from collections import deque
def solution(people, limit):
    answer = 0
    people.sort(reverse=True)
    q = deque(people)
    while q:
        temp = q.popleft()
        if q and q[-1] <= limit-temp:
            q.pop()
        answer += 1
    return answer

 

런너기법처럼

리스트의 머리부터 뛰면서 체크하는a 와 꼬리부터 뛰면서 체크하는b의 합을 가지고 체크하는 방식의 풀이가 있어 가져왔다.

 

def solution(people, limit) :
    answer = 0
    people.sort()

    a = 0
    b = len(people) - 1
    while a < b :
        if people[b] + people[a] <= limit :
            a += 1
            answer += 1
        b -= 1
    return len(people) - answer
728x90
반응형
728x90
반응형

무려 두 달이 채 안되는 시간동안 일어난 일들.

 

코로나가 양국에서 굉장히 심했던 연말 시즌.

넘어가서 착실하게 일해보려고 했지만 온갖 수난을 결국 이겨내지 못했다.

평생술안주를 잔뜩 만들었고, 나는 스트레스와 홧병을 얻고 다음 주에 한국으로 돌아간다.

내가 몸 담았던 회사 조직을 욕하는 글은 아니고..(조금 욕할 수 있는 입장인 것 같긴 함)

일본이라서 겪었고, 일을 유연하게 처리해주지 못하는 사람들 속에 끼어버려서 겪었던 수많은 일들.

일본 가는 비행기 예약 : 1월 23일로 끊었는데 긴급사태선언한다고 입국길 다 막는대서 1월 7일로 변경. 아무준비없이 출국당함

일본 집 찾기 : 화상 줌 미팅으로 부동산직원이랑 집 구경까지 다 하고 계약할게요~ 했더니 집주인이 외국인 안 받는다고 캔슬됨.

또 다른 부동산은 한 번 메일보내면 기본 3일은 지나야 답장오는 곳이었는데 매물이 좋은 게 있어서 겨우겨우 화상미팅 잡아놨더니 급하게 비행기 변경된 날짜랑 겹쳐서 캔슬되고, 다른 날 언제 다시 얘기할 수 있냐고 물어보는 메일을 보냈지만 그 길로 연락 두절.

집 : 어찌저찌 쉐어하우스 구해서 들어왔더니 옆방하고 대화 가능한 방음수준, 웹사이트 하나 제대로 못 여는 와이파이 속도. 결국 따로 포켓와이파이 결제함.

입주한 당일 침대 이불 걷어보니 머리카락이나 먼지 수준이 아니라 그냥 쓰레기들이 이불위에 널브러져 있었고 싱크대에도 뭔 모래가 가득했음. 부동산회사에 전화해봤지만 아 오늘은 청소스탶이 거기까지 갈 수가 없음,,, 너가 청소하고 자야해,,,

회사 일 : 코드 쓰고 개발측에서 일하고 싶다, 나 실제로 코딩도 할 줄 안다고 20년 5월부터 얘기한 내용들과 연수기간중에 얻은 코딩테스트 고득점 결과들은 다 갖다치우고, '와 님 한국어 일본어 영어 다 하시네요! 번역을 좀 부탁드립니다^^7' 라는 흐름으로 점심시간까지 들어차있는 회의 들어가면서 한 일은 파파고와 번역하기, 엑셀/파워포인트 복붙 작업하기. 두 달 동안 점심시간을 누려본 적이 딱 하루 있었다. 일본 입국한 날부터 3일연속 밤 10~11시 퇴근하면서 뭔가 잘 못 되어가고 있는 것 같아 급하게 항공편을 바꾸고 들어왔기 때문에 집을 찾아야한다는 명목으로 야근만은 겨우 탈출.

마지막 출근 : 재택근무의 연속이었기 때문에 딱히 연차를 쓰지 않았더니 많이 쌓여있어서 마지막 출근일이 서류상 퇴직일과 열흘 정도나 차이났다. 마지막 출근은 직접 반납할 것들이 많아서 회사에 나갔어야했는데 전날밤 11시반에 라인으로 전화오더니 '아 미안한데 내일까지 일좀 해줘야겠다' 통보 받고 결국 마지막날까지 점심시간 없이 일하다가 퇴근? 퇴직했다. 회사에 나가면서 '아 그래도 코로나가 없었으면 많이 달랐을텐데.' 같은 약간 감성적인 스탠스였는데 그동안 신세졌습니다 하고 마지막 인사를 건넸지만 수고했단 한 마디 없이 얼굴도 안보고 어 가 하는 거 보고 그래 시발 내가 미친놈이었지 라고 얼마 없던 남은 정까지 싹 다 회사에 두고 나왔다.

비행기값 회사에서 내준다 해서 청구 신청 : 1월 25일 회사 신청시작. 담당해주던 인사팀직원은 응~회사가 내줄게~라고만 하고 관련해서 뭘 어떻게 처리해야하는지 아무것도 알려주지 않았고, 하다못해 경리쪽에 공유도 안 되어 있었음. 주구장창 반려당하고 1:1미팅이랑 이메일로 똑같은 내용 똑같이 반복해서 겨우 최종 단계까지 올려놓았지만 역시 최종승인자가 열흘넘게 감감무소식. 이게 총 한 달째 걸려 아직도 미해결중.

회사 주택비 보조 청구 : 매달 납부하고 해약 한 달 전에 얘기해서 계약종료기간을 정하는 방식이라 계약서에 종료기간이 공란임. 위의 내용이 다 계약서 조항들에 친절히 적혀있지만 단순히 공란이라는 이유로 반려당함. 부동산하고 합의해서 해약날짜 정해서 종료기간 적힌 거 보냈더니 부동산회사측에서 '공식'으로 '직접' 쓴 거 아니라고 반려당함. 부동산회사에 직접 전화해서 니들이 쓴 거 pdf로 나 좀 보내달라 해서 받아서 다시 보내줌. '공식'으로 '직접' 쓴 거 보냈는데도 '아 일단 모르겠고 이 전에꺼 너가 쓴거지? 님 그거 사문서위조행위니까 일단 처리못해줌 기다려' 소리 들음. 아니 오해하신 것 같은데 보내드린 pdf가 틀림없는 부동산회사에서 직접 쓴 거라구요,,, 읍소했더니 겨우 통과됨. 사실 통과될 것 같다는 생각 눈곱만큼도 없어서 반박할 메일 문구 준비해놨었는데 ㅎㅎ 이것도 최초신청으로부터 딱 30일되는 날에 해결됐고 해결됐단 연락 받자마자 거의 울기 직전이었음.

귀국 비행기 : 귀국 일주일도 안남은 시점에서 예약했던 항공편이 없어짐. PCR검사도, 집 해약도, 전출신고도 다 해버려서 같은 날 비행기를 탔어야 했기 떄문에 원래 예약했던 것보다 2.5배 비싼 뜻밖의 대한항공 타고 귀국하기.

뜬금 중복 해외결제 : 1년반전에 쓰고 한 번도 안 쓴 이온모바일에서 갑자기 결제됨. 공중전화박스에서 한시간동안 19년에 썼던 핸드폰 번호, 이름, 주소, 재류카드, 여권 줄 수 있는 정보 다 줬는데 '조회가 안되네요^^' 소리 듣고 끝남. 외장하드 다 뒤져서 쓰던 이온모바일 아이디 찾아서 이온모바일 홈페이지 들어갔더니 홈페이지 점검중임.

하나카드 회원가입하고 채팅상담해서 알게 된 내용 [19년 9월에 이용한 이온모바일 체크카드 승인이 21년 2월에 재차 중복청구, 승인 됨. 그냥 이온모바일에서 똑같은 결제내역을 카드사에 2년 지난 타이밍에 또 청구한거임.] 내 정보 그렇게 다 알려줬는데도 못 찾더니 청구는 어떻게 또 한거냐.

PCR검사 : 갑자기 법이 바뀌어서 PCR 검사 받기. 검사랑 증명서 비용까지 합 20만원.

팩스가 이렇게 고오급 기술이었던 것인가

인감과 우편으로 점철돼있는 행정처리는 처음 살아보는 게 아니어도 좀처럼 적응이 안된다.

나 잘났다고 쓰는 글도 아니고, 얼마나 많은 일들이 있었나 스스로도 궁금해질 정도였기 때문에 남겨보는 오프더레코드같은 이야기들.

대열에서 탈락한 입장에서 조금은 속 시원하게 얘기해볼 수 있는 후일담.

그 와중에 인사팀에 한국인 직원분이 한 분 계셔서 험난한 에피소드들을 해결하는 데 큰 도움을 받을 수 있었다. 진심으로 감사하다.

살면서 가장 스트레스를 많이 받은 시즌이었고, 제발 이것들이 올해의 액땜이 되기를 바랄 뿐이다.

오늘도 도수 높은 술을 샷으로 마시고 술기운에 잠들어야 한다.

728x90
반응형
728x90
반응형

synchronous 동기적

asynchronous 비동기적 (병렬적) : Nodejs는 비동기적 처리를 위한 좋은 도구들을 가지고 있음.

- 효율적이지만 복잡.

출처 : 생활코딩

fs모듈 : 파일을 핸들링하는 모듈

Sync가 없으면 비동기적임.

ex )

>> console.log('A');
>> var result = fs.readFileSync('syntax/sample.txt' , 'utf8');
>> console.log(result);
>> console.log('A');

A
sample.txt의 내용
C
>> console.log('A');
>> fs.readFile('syntax/sample.txt' , 'utf8', function(err, result){
>>   console.log(result);
>> });
>> console.log('C');

A
C
sample.txt의 내용

callback : 파일을 읽은 다음에 함수를 호출하는 것. 너 할 거 하고 나중에 날 불러(call back) 라는 느낌의 작업.

C가 sample.txt보다 먼저 console에 출력되는 이유.


이름이 없는 함수 : 익명함수

Package Manager NPM

PM2 설치

npm install pm2 -g
pm2 start syntax/main.js

상황 보기 : pm2 monit

진행중인 프로세스 목록 보기 : pm2 list

끄기 : pm2 stop main

이 때의 main은 pm2 list에서 보이는 name

변경사항 로그 보기 : pm2 log

소스 변경되면 알아서 껐다 켜주기 때문에 소스가 변경됐을 때 reload만 하면 변경사항 반영됨. 일부러 껐다 켜는 수고를 덜 수 있음.

html : placeholder="" 입력칸 가이드

post전송방식 : URL에 쿼리스트링이 남지않음.

Request : 요청할 때 웹브라우저가 보낸 정보들

Response: 응답할 때 우리가 웹브라우저에게 전송할 정보들

var qs = require('querystring');

if (request.method=='POST'){
  var body = '';
  request.on('data', function (data) {
    body += data;

    if (body.length>1e6)
      request.connection.destory();
  });
  request.on('end', function() {
    var post = qs.parse(body);
  });
}

요청된 data의 양이 너무 클 경우 커넥션을 destroy하는 일종의 안전장치

post방식으로 전송된 data를 객체화해서 사용할 수 있음.

 

Nodejs 리다이렉션 : 302번

response.writeHead(302, {Location: `/?id=${title}`});
728x90
반응형
728x90
반응형

 

포트 번호.

기본적으로 정해져있는 건 80번.

 

 

출처 : 생활코딩

쿼리스트링의 시작은 물음표(?)로 하기로 정해져있고

값과 값은 엔퍼센드&,

이름과 값은 =로 구분하기로 정해져있다.

 

 

 

쿼리스트링 분석

var queryData = url.parse(_url, true).query;

 

 

CRUD : Nodejs에서 파일을 읽는 방법

대표사진 삭제

사진 설명을 입력하세요.

CRUD(Create Read Update Delete)

 

fs모듈로 파일 읽기 : fs.readFile()

var fs = require('fs');
fs.readFile('sample.txt','utf8',function(err, data){ console.log(data); });

 

sample.txt의 상위 디렉토리에서 실행할 경우 파일을 못 찾아서 못 읽어오고 undefined를 출력할 때가 있음.

cd __폴더명__으로 디렉토리 전환해줄 것.

(cd .. 상위 디렉토리로 돌아가기,

dir/w 디렉토리 내용 보여주기 (리눅스 ls -al과 같은 역할))

 

대표사진 삭제

사진 설명을 입력하세요.

입력값으로 들어가는 것

Parameter : 입력되는 정보의 형식

Argument : 형식에 맞춘 실제 값

 

response.writeHead() : 웹에서 실제로 접속이 잘 될 때는 200, 접속 오류의 경우 404

if (정상) {
  fs.readFile(`data/${queryData.id}`,'utf8',function(err,description){
        var template = ``
        response.writeHead(200);
        response.end(template);
      })
    } else{
      response.writeHead(404);
      response.end('Not found');
    }

 

 

디렉토리 내부의 파일을 리스트(배열)로 얻어내기 : fs.readdir

var testFolder = './data';
var fs = require('fs');

fs.readdir(testFolder, function(err, filelist){
  console.log(filelist);
})

 

 

 

 

728x90
반응형

+ Recent posts