일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- BFS
- kotlin
- 코딩봉사
- 데이터베이스
- 소프티어
- 시나공
- 문제풀이
- 코틀린
- 백준 알고리즘
- python
- 코딩교육봉사
- 알고리즘
- MYSQL
- C++
- 백준
- 백준알고리즘
- 자바
- 회고
- CJ UNIT
- softeer
- 공부일지
- 스프링
- 정보처리산업기사
- 파이썬
- 1과목
- programmers
- java
- 프로그래머스
- SQL
- SW봉사
- Today
- Total
목록Algorithm (159)
JIE0025
https://school.programmers.co.kr/learn/courses/30/lessons/86491 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 명함 지갑을 만드는 회사에서 지갑의 크기를 정하려고 합니다. 다양한 모양과 크기의 명함들을 모두 수납할 수 있으면서, 작아서 들고 다니기 편한 지갑을 만들어야 합니다. 이러한 요건을 만족하는 지갑을 만들기 위해 디자인팀은 모든 명함의 가로 길이와 세로 길이를 조사했습니다. 아래 표는 4가지 명함의 가로 길이와 세로 길이를 나타냅니다. 명함번호 가로 길이 세로 길이 1 60 50 2 30..
https://school.programmers.co.kr/learn/courses/30/lessons/12904 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 팰린드롬과 가장 긴 팰린드롬에 대한 개념은 해당 글에 적어놨다. https://jie0025.tistory.com/409 그래도 복붙해서 가져와보면 ⏺ 회문(Palindrome) 앞 뒤가 똑같은 단어나 문장 대소문자와 띄어쓰기는 구분하지 않는다. 글자와 숫자만 따진다 가나다다나가 Madam, I'm Adam 가장 긴 팰린드롬을 찾아서 해당 길이를 리턴하면 된다. 💻 CODE def solution..
✅ 코딩테스트에 나오는 문자열 문제 유형 회문(Palindrome) 문자열 뒤집기 조건에 맞게 재정렬 특정 단어 추출 애너램 (anagrams) : 문자를 재배열해 다른뜻을 가진 단어로 바꾸는것 가장 긴 팰린드롬 찾기 ⏺ 회문(Palindrome) 회문 (팰린드롬) 이란? 앞 뒤가 똑같은 단어나 문장 대소문자와 띄어쓰기는 구분하지 않는다. 글자와 숫자만 따진다 가나다다나가 Madam, I'm Adam re.sub('패턴', '바꿀문자열', '적용할문자열') 💻 팰린드롬 판별 여부 코드! >> V1은 리스트의 크기를 조절하는 append(), pop()을 사용하기 때문에 느리다. >> V2 슬라이싱을 이용한게 훨씬 빠르다 #팰린드롬 공부 import re def isPalindromeV1(str) : #전..
개념 복습은 나중으로 미루고 문제만 풀어보려고 가져왔다. ✅ 파이썬의 정렬 라이브러리 ⏺ sorted() 파이썬 기본 정렬 라이브러리 병합정렬을 기반으로 만들어짐 O(NlogN) 보장 리스트, 딕셔너리, 자료형 등을 입력받아 정렬된 결과를 출력함. ⏺ sort() 내부요소 바로 정렬 arr = [7,5,2,9,0,3,1,6,4,8] arr.sort() result = sorted(arr) >> [0,1,2,3,4,5,6,7,8,9] arr.sort(reverse=True) result = sorted(arr, reverse=True) >> [9,8,7,6,5,4,3,2,1,0] ⏺ key를 이용해서 정렬기준 정하기 key에는 하나의 함수가 들어가야한다. 람다를 사용하는 방식을 많이 사용한다 💻 1번째 요..
https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 문제 철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자 모양 상자의 칸에 하나씩 넣어서 창고에 보관한다. 창고에 보관되는 토마토들 중에는 잘 익은 것도 있지만, 아직 익지 않은 토마토들도 있을 수 있다. 보관 후 하루가 지나면, 익은 토마토들의 인접한 곳에 있는 익지 않은 토마토들은 익은 토마토의 영향을 받아 익게 된다. 하나의 ..
https://www.acmicpc.net/problem/4963 4963번: 섬의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도 www.acmicpc.net 문제 정사각형으로 이루어져 있는 섬과 바다 지도가 주어진다. 섬의 개수를 세는 프로그램을 작성하시오. 한 정사각형과 가로, 세로 또는 대각선으로 연결되어 있는 사각형은 걸어갈 수 있는 사각형이다. 두 정사각형이 같은 섬에 있으려면, 한 정사각형에서 다른 정사각형으로 걸어서 갈 수 있는 경로가 있어야 한다. 지도는 바다로 둘러싸여 있으며, 지도 밖으로 나갈 수 없다. 입력 입력은 여러 개의 테..
https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 문제 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 효과적인 배추흰지렁이를 구입하기로 결심한다. 이 지렁이는 배추근처에 서식하며 해충을 잡아 먹음으로써 배추를 보호한다. 특히, 어떤 배추에 배추흰지렁이가 한 마리라도 살고 있으면 이 지렁이는 인접한 다른 배추로 이동할 수 있어,..
https://www.acmicpc.net/problem/16173 16173번: 점프왕 쩰리 (Small) 쩰리는 맨 왼쪽 위의 칸에서 출발해 (행, 열)로 나타낸 좌표계로, (1, 1) -> (2, 1) -> (3, 1) -> (3, 3)으로 이동해 게임에서 승리할 수 있다. www.acmicpc.net 예전에 공부할땐 일단 외우고 어떻게 응용할지에 대해 초점을 맞췄었는데 그러다보니 실력이 잘 안느는것 같아서 차근차근 어떻게 풀지 생각하는 연습을 하고자 쉬운 문제부터 풀기 시작했다. 문제 ‘쩰리’는 점프하는 것을 좋아하는 젤리다. 단순히 점프하는 것에 지루함을 느낀 ‘쩰리’는 새로운 점프 게임을 해보고 싶어 한다. 새로운 점프 게임의 조건은 다음과 같다. ‘쩰리’는 가로와 세로의 칸 수가 같은 정사각..
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코딩테스트 파이썬으로 공부 안한지 또 오래돼서 문법적으로 기억안나는게 생각보다 있다... 리스트의 길이를 구할 때 len()을 써야하는데, size()나 length를 쓰려고 한다던지 ㅠㅠ 문법을 다시 기억하고 익숙하게 만들려면 앞으로도 계속 바로바로 프로그래머스에서 푸는걸 연습해야겠다. 도달하지 못할경우 -1을 출력해야하므로 visited를 -1로 초기화, 처음 위치를 1로 초기화하고 ..
✅ 구현 (Implement) 머릿속의 알고리즘을 소스코드로 바꾸는 과정 사소한 조건 설정이 많은 문제일수록 코드 구현이 까다로워진다. 완전탐색 : 모든 경우의 수를 주저없이 다 계산하는 해결방법 시뮬레이션 : 문제에서 제시한 알고리즘을 한단계씩 차례대호 직접 수행하는 문제유형 ✔️ 구현시 고려할 메모리 제약사항 파이썬 리스트 크기 - 코딩테스트에서는 128~512MB로 메모리를 제한하는데, 알고리즘 문제중 수백만개 이상의 데이터를 처리해야하는 문제가 출제되고는 한다 일반적인 코딩테스트 수준에선 메모리 사용량제한보다는, 더 적은 크기의 메모리를 사용해야 한다는 점 정도만 기억하면 된다. 일반적으로는 2020년을 기준으로 파이썬 3.7로 코드를 작성할 때, 자신의 코드가 1초에 2,000만 번의 연산을 수..