본문 바로가기

알고리즘12

[C++] 변수 초기화 안하면 발생하는 문제 요즘 가끔 C++ 공부를 하고 있다. certi ex 도전을 하고 싶은데 C랑 C++로 언어 제한이 있기 때문이다. 지금까지 코테를 파이썬 원툴로 풀고 다녔기 때문에 다른 언어로 알고리즘 풀이를 해본 적이 없어서 그런지, 생각지도 못한 부분들에서 계속 오류가 나온다. (심지어 업무 시에 사용하는 java로도 코테로 활용 못한다.. 업무 할 때는 모르는 게 있으면 구글링 하고, 문법을 외우거나 하진 않기 때문에!) 이번에도 기초 문제 풀다가 변수 초기화 문제로 한참 애를 먹었다. 아래 a와 b의 차이가 뭔지 몰랐다. char a[10]; char b[10] = ""; 몰랐다기보단, 어렴풋이 알고는 있었지만 생각을 못했다는 게 더 맞겠다. 파이썬은 변수를 정의하면 알아서 초기화해 준다. 그런데 C계열에서는 .. 2023. 9. 10.
[QnA] 백엔드 개발자 코딩테스트, 취업 준비 (2021년 5월 26일 기준으로 작성된 글입니다) Q. 안녕하세요:) 파이썬 코딩 테스트 준비하러 여러 자료를 찾아보다가, in0_2015님 글을 보게 되었어요 외에 궁금한 것이 있어서 메일 드립니다! 저는 현재 23살, 컴퓨터 공학과 2학년에 재학 중이고 현재는 휴학 중인 상태입니다 백엔드 개발자를 목표로 하고 있고, 파이썬으로 코딩 테스트 준비를 지금부터 시작하려 하는데요 in0_2015님은 코딩테스트 준비 기간(자료구조와 알고리즘 공부 기간)을 얼마 정도로 잡으셨는지 여쭤보고 싶습니다 그리고 혹시 django에 입문하기 좋은 책도 여쭤보고 싶습니다 바쁘실텐데 글 읽어주셔서 감사드립니다 건강 조심하시고 좋은 하루 되세요:) A. 안녕하세요~ 저는 2019년 5월에 hello world를 처음 찍었고.. 2021. 5. 26.
[QnA] IT/SW 취업 준비 (코딩테스트, 프로젝트) (2021년 4월 23일 기준으로 작성된 글입니다) Q. 질문 2가지 드릴게요!! 첫 번째로 코테를 위해 알고리즘 방향을 잡기가 쉽지 않습니다. 지금은 자료구조를 하나 정해서 그 자료구조에 대한 어떤 문제가 나와도 풀 수 있게끔 하려고 문제를 많이 풀고 있습니다. 하지만 재귀나 백 트레킹 그리디 등등 문제양으로 한계가 있는 자료구조도 있더라고요. 그래서 방향성을 잡고 가고 싶어요. 두 번째는 무작정 대기업 코테만 보는 것이 아닌 중견기업이나 스타트업 등 코테를 보지 않는 회사의 경우 어떤 방향으로 취준을 하는 게 좋을까요? 예를 들어 백앤드 쪽도 공부하면서 프젝을 한다던지요! + 혹시 프로젝트는 어떤 식으로 진행하셨는지요? 그냥 혼자 주제 하나 잡고 진행하셨나요? 아니면 해커톤이나 대회 참가하여 진행하셨.. 2021. 5. 26.
코딩테스트 대비 공부방법 (파이썬) 내 블로그를 찾아오시는 분들 대부분이 코딩 테스트 후기를 보고 오시는 것 같다. (네이버 코테, 카카오 코테, 토스 코테, 라인 코테...) 그리고 댓글로 코딩테스트 혹은 비전공자 프로그래밍 공부 방법에 대해 물어보시는 분이 많아서 포스팅한다. 모든 사람에게 통용되는 방법은 아니겠지만, 비전공자로서 코딩 테스트를 대비하는 약간의 팁? 내가 했던 공부 방법과 문제풀이 사이트를 소개한다. 참고로 파이썬 기준! 일단 나는 Hello World! 가 뭔지도 모를 때 무작정 파이썬 수업부터 들었다. 처음부터 유료 강의 결제하기는 망설여져서 edwith에서 이지선 교수님 파이썬 기초 강의를 들었는데, 프로그래밍을 전혀 모르고 시작했지만 쉽게 설명해주시고 커리큘럼도 체계적이면서 필요한 부분만 빠르게 짚어주셔서 진도도.. 2020. 12. 29.
[파이썬] 백준 2156번: 포도주 시식 N = int(input()) wine = [0] maxi = [0]*(N+1) for i in range(1, N+1): wine.append(int(input())) if i < 3: maxi[i] = sum(wine) else: target = [] target.append(maxi[i-3]+wine[i-1]+wine[i]) target.append(maxi[i-2]+wine[i]) target.append(maxi[i-1]) maxi[i] = max(target) print(maxi[-1]) 다이나믹 프로그래밍 문제다. 처음에 DFS로 풀었는데 시간초과가 떠서 다시 풀었다. 포도주가 1잔 또는 2잔이 있을 때에는 그냥 모두 다 마시면 된다. 하지만 3잔째 부터는 선택을 해야 한다. 선택에는 3가지.. 2020. 6. 9.
[파이썬] 백준 17140번: 이차원 배열과 연산 def func(B, ga, se): # 가로로 한 줄씩 연산 실행하고 결과 반환 newlist = [[] for _ in range(ga)] # 저장할 리스트 maxi = 0 # 세로 최대값을 갱신 for i in range(ga): mydict = dict() # 라인 별 숫자를 세기 위한 딕셔너리 for j in range(se): if B[i][j] != 0: # 0은 무시한다 if B[i][j] in mydict: # 값이 있을 경우 +1 한다 mydict[B[i][j]] += 1 else: # 값이 없을 경우 1을 배치한다 mydict[B[i][j]] = 1 mylist = list(mydict.items()) # (key, value) 저장 mylist.sort(key=lambda x: (x.. 2020. 5. 28.