목록전체 글 (57)
하루한줄 코딩일기
프로그래머스 > 2022 KAKAO BLIND RECRUITMENT > 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다. 신고 횟수에 제한은 없습니다. 서로 다른 유저를 계속해서 신고할 수 있습니다. 한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신고 횟수는 1회로 처리됩니다. k번 이상 신고된 유저는 게시판 이용이 정지되며, 해당 유저를 신고한 모든 유저에게 정지 사실을 메일로 발송합니다. 유저가 신고한 모든 내용을 취합하여 마지막에 한꺼번에 게시판 이용 정지를 시키면서 정지 메일을 발송합니다. 다음은 전체 유..
프로그래머스 > 음양 더하기 문제 설명 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요. 제한사항 absolutes의 길이는 1 이상 1,000 이하입니다. absolutes의 모든 수는 각각 1 이상 1,000 이하입니다. signs의 길이는 absolutes의 길이와 같습니다. signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다. 입출력 예 absolutes signs result [4,7,12] [true,false,true] 9 [1,..
백준 > 소수 구하기 문제 M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. 출력 한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다. 예제 입출력 입력 출력 3 16 3 5 7 11 13 👊 내 문제 풀이 직전에 푼 인프런 에라토스테네스 체 문제와 동일한 유형의 문제를 찾아서 풀어봤다. n+1 크기의 리스트를 만들어 소수 판별을 한 결과 값을 반영한 후, m ~ n+1 구간에 있는 소수를 출력했다. 소수 판별 알고리즘은 이전의 에라토스테네스 체 문제와 동일하게 사용했다. [참고] [인프런 - 파이썬 알고리즘 문제풀이] 2.7 소..
인프런 > 파이썬 알고리즘 문제풀이 섹션 2.7 소수(에라토스테네스 체) 👊 내 문제 풀이 가장 원초적으로 풀어봤다. 숫자 i를 2 이상, i 미만의 수로 나눠 나머지가 0인 경우가 나오지 않을 경우, i는 소수라고 판단한다. 소수라고 판단하기 위해선 전체 경우의 수를 탐색해야 하기 때문에 시간 복잡도가 구린 코드다. n=int(input()) sosu = [2] is_sosu=False for i in range(3,n):#2는 소수, 3부터 소수 검사 for j in range(2,i): if i%j==0: is_sosu=False break else: is_sosu=True if is_sosu == True: sosu.append(i) print(len(sosu)) 채점 결과 역시 시간 초과로 실패..
GitHub에 로컬 저장소의 프로젝트 올리기 1. 레파지토리 생성 먼저 깃허브에 새로운 레파지토리를 생성한다. 나는 repo를 처음 생성할 땐 README 파일이나 다른 부수적인 파일 생성에는 체크하지 않는다. 나중에 추가해주는 것이 더 편하다. 2. Git Bash 실행 업로드하고자 하는 파일에 마우스 우클릭 > Git Bash Here 를 눌러 해당 위치에서 Git Bash를 실행한다. 3. 파일 업로드 bash가 열리면 먼저 깃허브 사용자명과 이메일을 입력한다. $ git config --global user.name "JoohyunLim" $ git config --global user.email "jjuha.dev@gmail.com" git init 명령어를 통해 git 저장소(.git 폴더)를..
input()과 sys.stdin.readline()의 차이 백준 알고리즘 문제들을 풀다 보면 sys.stdin.readline()을 사용해 자료를 입력받을 경우 input() 함수를 사용했을 때보다 처리 속도가 향상되는 것을 볼 수 있다. 또한, 시간 초과로 인한 오답이 발생하는 경우 input() 함수 대신 readline()을 사용하는 것 만으로 문제가 해결되는 경우가 많다. 아래 사진에서 볼 수 있듯이 두 방식에는 속도 차이가 확연히 나타는데, 그렇다면 이 두 입력받기 방식의 차이점은 무엇이고 속도 차이가 발생하는 이유는 무엇일까? [출처] 입력 속도 비교 input() 파라미터로 프롬프트 메시지를 받을 수 있어, 입력받기 전 프롬프트 메시지를 출력함 캐릭터 단위로 읽어들여 속도가 느림 개행문자(..
📃 'int' object is not callable 에러 자릿수의 합 문제를 해결하던 중 작은 오류가 발생했다. digit_sum() 함수를 호출해 그 결과값을 'sum' 이라는 변수에 저장하고자 하는 과정에서 문제가 발생 한 것. def digit_sum(x): return sum(list(map(int,str(x)))) N = int(input()) arr = list(map(int, input().split())) max = -9999999 answer = 0 for i in arr: sum = digit_sum(i)#오류 발생 지점 if sum>max: max = sum answer = i print(answer) Traceback (most recent call last): File "C:\..