SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 문제 내용 2. 접근 방식 점수 종류가 101개이고 입력된 점수 데이터가 1,000개이다. 따라서 최악의 경우라도, 점수 종류 for문 안에서 특정 점수를 count하는 연산을 적용하여도 약 100,000번의 연산만 수행하면 된다. 입력된 점수 데이터의 중복을 없애 점수의 종류로 for문을 돌린다. 각 점수의 빈도수를 파악한 후 딕셔너리에 넣는다. 이때 딕셔너리의 key는 빈도수, value는 점수이다. 만약 딕셔너리에 동일한 빈도수(key)가 존재한다면, 점수가 더 큰 값이 value로 저장되도록 한다. 이후 딕셔너리에서 가장 큰 key 값의 value를 ..
0. 포스팅 작성 이유 파이썬에서 "hello world"라는 문자열에서 특정 문자 "w" 존재 여부를 확인하려고 할 때 find() 메서드와 in 연산자를 모두 사용할 수 있습니다. 그렇다면 동일한 기능을 수행하는 메서드와 연산자가 모두 존재하는 이유가 무엇일까? 무슨 차이가 있어서 2개가 모두 존재하는 것일까, 찾아보았습니다. 1. find() 메서드와 in 연산자 반환값 종류 반환값 find( ) 문자가 존재하면 해당 문자의 인덱스 / 없으면 -1 in 문자가 존재하면 True / 없으면 False find( )는 특정 문자의 인덱스 값이 필요할 때, in 연산자는 단순히 특정 문자가 존재하는지만 확인할 때 사용하기 적합합니다. 물론 특정 문자의 존재 여부도 find( )로 파악할 수 있지만, in..
SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 문제 내용 2. 접근 방식 접근1: 최대 이익을 내기 위해선 오늘 산 물건의 가격보다 다음 날 가격이 더 높아야 한다. 따라서 10 7 6의 경우 날이 지날수록 가격이 떨어지기 때문에 애초에 구매하지 않아야 최대 수익 0을 낼 수 있다. 그렇다면 3 5 9의 경우는 어떨까? 3보다 5가 더 높기 때문에 바로 5에 팔아버리면 그 다음 날 9로 팔 수 있는 기회가 사라진다. 즉, 무작정 오늘에 비해 내일 가격이 더 비싸다고 팔면 최대 이익을 얻을 수 없다. 접근2: 매일 1개씩 사다가, 전체에서 가장 비싼 가격일 때 팔아야 한다. 1 1 3 1 2에서 가장 비싼..
교재에 서술된 정답 코드가 아닌, 제가 직접 작성한 코드입니다. n = int(input()) steps = list(input().split()) move = { 'L': (0, -1), 'R': (0, 1), 'U': (-1, 0), 'D': (1, 0) } x, y = 1, 1 for step in steps : xd, xy = move[step][0], move[step][1] x += xd y += xy if x == 0 : x = 1 elif x == n + 1 : x = n elif y == 0 : y = 1 elif y == n + 1 : y = n print(x, y) 개선된 버전 n = int(input()) steps = list(input().split()) move = { 'L':..
0. 정보처리기사 시험 일정 과목 정보 (나무위키 "정보처리기사/시험/2020년 개정" 참고) 1과목: 소프트웨어 설계 소프트웨어공학, 프로그래밍언어론 2과목: 소프트웨어 개발 자료구조, 운영체제, 소프트웨어공학, 알고리즘보안 관련 과목들 3과목: 데이터베이스 구축 데이터베이스 4과목: 프로그래밍 언어 활용 프로그래밍언어론, 운영체제, 보안 관련 과목들, 통신 관련 과목들 5과목: 정보시스템 구축 관리 소프트웨어공학, 데이터베이스보안 관련 과목들, 통신 관련 과목들 1. 필기 접수 필기 시험일시: 2023년 3월 10일 (금) 12:40 전공에 상관없이 취득할 수 있는 자격증이지만, 그래도 소프트웨어 전공자로서 정보처리기사 자격증을 갖고 싶었습니다. 대학교에서 배운 CS 지식들을 복습할겸 말이죠. 2. ..