본문 바로가기
반응형

시간 복잡도10

파이썬 Python | 알고리즘 | ⭐⭐⭐⭐ ArrayList ⭕ 파이썬 Python | 알고리즘 | ⭐⭐⭐⭐ ArrayList➡️ ArrayListArrayList는 배열과 유사한 자료 구조입니다. 배열은 데이터가 연속적으로 저장된다는 점에서 ArrayList와 차이가 있지만, 이해를 돕기 위해 배열과 유사하다고 생각할 수 있습니다. 알고리즘 문제에서는 배열의 삽입과 삭제가 빈번히 일어나므로 시간 복잡도와의 싸움이 자주 발생합니다. 따라서 삽입이나 삭제를 시간 복잡도를 고려하지 않고 무작위로 수행하면 문제를 해결하지 못할 수 있습니다.ArrayList의 특징연속된 메모리 공간: ArrayList는 연속된 메모리 공간에 데이터를 저장합니다.원하는 위치의 값 얻기: 특정 위치의 요소에 접근할 때 O(1)의 시간 복잡도를 가집니다.삽입 및 삭제: 중간에 요소를 삽입하거.. 2024. 6. 13.
파이썬 Python | 알고리즘 | 카카오 개발자 코딩테스트 및 오픈채팅방 알고리즘 ⭕ 파이썬 Python | 알고리즘 | 카카오 개발자 코딩테스트 및 오픈채팅방 알고리즘카카오의 핵심은 카카오톡입니다. 카카오의 신입 공개 채용 코딩 테스트 문제는 대학교 학부 과정에서 배우는 기초 알고리즘에 충실하지만, 문자열 기반 채팅 애플리케이션인 카카오톡은 카카오의 핵심인 만큼 문자열과 관련된 알고리즘이 항상 출제됩니다. ➡️ 2020년 카카오 개발자 신입 공개 채용 1차 1번 오픈채팅방 문제[프로그래머스 문제 링크](https://school.programmers.co.kr/learn/courses/30/lessons/42888)문제 설명카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있으며, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있습니다. 신입사원인 김크루.. 2024. 6. 12.
파이썬 Python | 알고리즘 | 시간 복잡도 ⭕ 파이썬 Python | 알고리즘 | 시간 복잡도컴퓨터는 1초에 약 1억 정도의 연산을 할 수 있다고 가정합니다. ➡️ 알고리즘이 왜 필요한가?구글 검색엔진을 예로 들어보겠습니다. 우리가 구글을 통해 검색할 때, 전 세계에서 업로드된 모든 게시물을 검색 키워드와 비교하여 찾으려 한다면 수백 초 이상의 시간이 걸릴 것입니다. 하지만 실제로 구글과 유튜브는 검색창에 키워드를 입력했을 때 빠르면 1초 안에, 느려도 몇 초 안에 검색 결과를 보여줍니다. 이는 효율적인 알고리즘 덕분입니다. 이러한 이유로 대기업에서는 개발자를 채용할 때 알고리즘 시험을 보며, 개발자들에게 있어서 알고리즘은 필수적인 기술입니다. ➡️ 그래서 구글 검색 엔진은?구글의 검색 알고리즘은 비밀에 부쳐져 있지만, 실무적인 개발 이야기로 추.. 2024. 6. 12.
자바 JAVA | 백준 9498번 시험 성적 | 조건문을 이용한 시험 성적 출력 프로그램 https://www.acmicpc.net/problem/9498 9498번: 시험 성적 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오. www.acmicpc.net ✅ 문제 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오. 시간 제한: 1 초 메모리 제한: 128 MB 💡 입력 첫째 줄에 시험 점수가 주어진다. 시험 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. 💡 출력 시험 성적을 출력한다. 💡 예제 입력 1 100 💡 예제 출력 1 A ✅ 해결 💡 .. 2022. 9. 28.
자바 JAVA | 백준 10171번 고양이 | 이스케이프 문자 활용 https://www.acmicpc.net/problem/10171 10171번: 고양이 아래 예제와 같이 고양이를 출력하시오. www.acmicpc.net ✅ 문제 아래 예제와 같이 고양이를 출력하시오. 시간 제한: 1 초 메모리 제한: 256 MB 💡 입력 없음. 💡 출력 고양이를 출력한다. 💡 예제 입력 1 없음. 💡 예제 출력 1 \ /\ ) ( ') ( / ) \(__)| ✅ 해결 💡 해결 계획 문제에서 주어진 그림을 참고하여, 고양이 모양을 문자열로 정의한다. 문자열을 줄 단위로 출력하여 고양이 모양을 출력한다. 💡 코드 1 (성공) 시간 복잡도는 O(1)이다. 출력하는 문자열이 하드코딩되어 있기 때문에 입력값에 따라 실행 시간에 영향을 받지 않는다. 이스케이프 문자를 이용해 특정 문자를 출력.. 2022. 9. 28.
자바 JAVA | 백준 11660번 구간 합 구하기 5 | 2차원 배열에서 구간 합 구하기 https://www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net ✅ 문제 N×N개의 수가 N×N 크기의 표에 채워져 있다. (x1, y1)부터 (x2, y2)까지 합을 구하는 프로그램을 작성하시오. (x, y)는 x행 y열을 의미한다. 예를 들어, N = 4이고, 표가 아래와 같이 채워져 있는 경우를 살펴보자. 여기서 (2, 2)부터 (3, 4)까지 합을 구하면 3 + 4 + 5 + 4 + 5 + 6 = 27이고, (.. 2022. 9. 20.
자바 JAVA | 백준 18108번 1998년생인 내가 태국에서는 2541년생?! | 불기 연도와 서기 연도 간의 변환 방법 https://www.acmicpc.net/problem/18108 18108번: 1998년생인 내가 태국에서는 2541년생?! ICPC Bangkok Regional에 참가하기 위해 수완나품 국제공항에 막 도착한 팀 레드시프트 일행은 눈을 믿을 수 없었다. 공항의 대형 스크린에 올해가 2562년이라고 적혀 있던 것이었다. 불교 국가인 태국 www.acmicpc.net ✅ 문제 ICPC Bangkok Regional에 참가하기 위해 수완나품 국제공항에 막 도착한 팀 레드시프트 일행은 눈을 믿을 수 없었다. 공항의 대형 스크린에 올해가 2562년이라고 적혀 있던 것이었다. 불교 국가인 태국은 불멸기원(佛滅紀元), 즉 석가모니가 열반한 해를 기준으로 연도를 세는 불기를 사용한다. 반면, 우리나라는 서기 연도.. 2022. 9. 20.
자바 JAVA | 백준 10926번 ??! | Scanner 클래스를 활용한 사용자 입력 처리 방법 https://www.acmicpc.net/problem/10926 10926번: ??! 준하는 사이트에 회원가입을 하다가 joonas라는 아이디가 이미 존재하는 것을 보고 놀랐다. 준하는 놀람을 ??!로 표현한다. 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어졌을 때 www.acmicpc.net ✅ 문제 준하는 사이트에 회원가입을 하다가 joonas라는 아이디가 이미 존재하는 것을 보고 놀랐다. 준하는 놀람을 ??!로 표현한다. 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어졌을 때, 놀람을 표현하는 프로그램을 작성하시오. 시간 제한: 1 초 메모리 제한: 256 MB 💡 입력 첫째 줄에 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어진다. 아이디는 알파벳 소문자.. 2022. 9. 20.
자바 알고리즘 | 코딩테스트에서 필수적인 시간 복잡도 개념과 활용 방법 최근 자바 공부를 다시 시작하면서 알고리즘 문제를 해결하려고 노력하고 있다. 그러나 여러 문제에서 런타임 에러가 발생하는데, 특히 중첩 for문을 사용하는 경우에 많이 발생한다. 이러한 문제를 해결하기 위해서는 시간 복잡도를 공부하고, 효율적인 알고리즘을 설계하는 방법을 배워야 한다. 시간 복잡도를 이해하면, 같은 문제를 더 효율적으로 해결할 수 있다. ✅ 시간 복잡도 알고리즘이 처리하는 입력 크기와 실행 시간 간의 상관관계를 나타낸다. 알고리즘이 입력 크기에 따라 처리하는 데 걸리는 시간의 증가율을 나타내는 지표이다. 입력 크기와 실행 시간 간의 상관관계를 분석하여 알고리즘의 성능을 평가할 수 있다. 이를 통해 더 효율적인 알고리즘을 설계하고, 불필요한 자원 낭비를 방지할 수 있다. 💡 시간 복잡도 조.. 2022. 9. 19.
자바 JAVA | 백준 11659번 구간 합 구하기 4 | 부분 합을 이용한 구간 합 구하기 알고리즘 https://www.acmicpc.net/problem/11659 11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net ✅ 문제 수 N개가 주어졌을 때, i번째 수부터 j번째 수까지 합을 구하는 프로그램을 작성하시오. 시간제한: 1초 메모리 제한: 256 MB 💡 입력 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j가 주어진다. 💡 출력.. 2022. 9. 13.
반응형