초보개발자 48

세무민의 코딩일기 : 프로그래머스 K번째수 문제 풀기!

이번 문제는 정렬 문제로 가져왔는데 생각보다 문제 푸는 시간이 10분도 안걸렸다는 점 ㅎㅎ 사실 파이썬으로 풀어서...ㅎㅎ 내장함수들이 진짜 미쳤다는 걸 한번 더 느꼈습니당 ㅎ 문제는 위와 같습니다. 말 그대로 배열 한개가 존재할 때! i부터 j까지 분할 -> 정렬 -> k번째 수 반환! 위의 로직처럼 구현하면 끝! 생각보다 코드의 길이가 짧습니다 ㅎ 말 그대로 I부터 J까지 분할한 후 리스트를 정렬해주고 그 값을 k번째를 결과값으로 출력해주면 끝! 그렇지만 여기서 i - 1과 k - 1을 한 이유는 우리가 첫번째라고 가정하더라도 리스트의 첫번째 시작은 0이기 때문! 정답이면 이런 화면이 출력됩니다! 우선 더 열심히 공부해야겠네요 ㅎㅎ 무튼 이번 포스팅도 끝!

세무민의 코딩일기 : 백준 알고리즘 나이순 정렬 문제 풀기 [10814번]

이번 포스팅은 2년 전에 C++로 작성해서 문풀 했던 기억이 나는데 파이썬으로 풀면 좀 더 간편하게 풀 수 있을 것이라고 판단해서 파이썬으로 풀어봤다. 문제는 위와 같은데 말 그대로 나이순으로 정렬한다. 그렇지만 나이가 동일한 경우에는 알파벳 순서대로! 이 경우에는 파이썬에서 sort를 이용한다면 쉽게 가능하다는 판단이 나왔다. C++로 문풀한 건 2년 전이지만 파이썬으로 쉽게 만들었지만 문제가 틀렸다고 나왔다. 그래서 무슨 문제인지 처음에 몰랐는데....... 파이썬에서 변수를 설정할 때 정수형을 구분 안해서 틀렸다.... 즉 Number = int(input().split()) 으로 변수를 입력받거나 아니면 변수를 int(number)로 변환해야 했는데... 그렇게 하지 않아서 문제가 틀렸다. # c..

Algorithm/Baekjoon 2021.02.03

세무민의 코딩일기 : [HackerRank] Counting Valleys 문제 풀기

우선 HackerRank라는 사이트에 친숙해지려고 노력중인데 영어라서 쉽지 않고...... 하루동안 못풀던 문제들도 존재한다.. 그래도 최대한 열심히 문풀 해 볼 생각! 오늘 문제는 Counting Valleys! U과 D를 구분해서 호수의 최소 개수를 구하면 된다! 예시를 보면 8개의 U와 D를 입력해서 0을 기준으로 상승한다면 산을 표현하고 0보다 작다면 강을 표현하는데 위의 그림의 경우에는 현재 UD으로 산 1개와 DDUDUU으로 작은강 2개라고 생각할 수 있으나 결론적으로 1개의 넓은 강에서 2개의 구간이 존재하는 것으로 1개의 강으로 표현가능하다. 생각보다 코드는 간단하다. 내가 구현한 구간은 countingValleys 함수를 구현했는데 0을 기준으로 U이면 1을 증가, D이면 1을 감소하여 ..

세무민의 코딩일기 : [HackerRank] Sales by Match 문제 풀기

백준 사이트를 먼저 풀어봐야 하는데 최근에 알고리즘 테스트를 봤던 회사의 문제가 모두 영어로 제공해줬는데... 문제가 영어라는걸 몰랐던 나는.. 멘붕과 해석도 재대로 못해서 시간을 날려버린 결과로 시험을 망쳤다... 비록 내가 공부를 안한것도 문제이지만... 다음에는 영어로 시험보는 회사를 대비하기 위해 시작했다. 오늘 풀어볼 문제는 Sales By Match 해석을 어려워하는 나에게는 구글 번역기가 있으니 ㅎㅎ 우선 N과 Arr는 주어진다. 그렇기 때문에 알고리즘만 신경쓰면 되는데 문제를 간단하게 설명해보면 배열내에서 같은 값끼리 묶었을 때 나올 수 있는 묶음의 개수를 구하면 된다. 해당 문제에서 제공해주는 Sample인데 위의 그림처럼 같은 값이 2개가 존재한다면 묶을 수 있으나 2개가 안된다면 묶을..

세무민의 코딩일기 : NYPC 2019 [연습문제] 비밀번호 검사 문제 풀기

우선 시험이 끝난 후 조금 코딩연습했던 내용들을 올려볼 생각인데..... 일단 시험을 너무 망쳤지만 알고리즘 공부의 중요성을 한번 더 알게 되었다. 사실 1차 서류 합격으로도 나에게는 큰 경험이지만 일주일도 안되는 시간동안 알고리즘 공부하는 건 쉽지 않았다. 무튼 조금씩 꾸준히 공부할 예정이다. 내가 풀어본 문제는 이 문제! NYPC에서 문제들을 보면서 나름 어려웠다. 내가 이 문제를 보자마자 생각난건 바로 아스키코드! 아스키코드로 비교하면서 특수문자의 경우는 파이썬에서 isalnum()라는 매소드로 특수문자가 존재하는지 비교하여 문제를 해결했다. # 비밀번호 검사 n = str(input()) def pwCheck(x): checkL, checkS, checkN, checkP, check= 0, 0, ..