www.acmicpc.net/problem/6443

 

6443번: 애너그램

N개의 영단어에 대한 모든 가능한 애너그램을 출력한다. 각각의 영단어에 대한 애너그램을 출력할 때, 알파벳 순서로 중복되지 않게 출력한다.

www.acmicpc.net

문제 보자마자 어? 해서 바로 풀었다

노래 시작할 때 문제 보고 끝날 때 다 풀었으니 한 5분 정도 걸린 듯

더 좋은 방법이 많겠지만, 빨리 풀었다는 것에 의의를

'알고리즘' 카테고리의 다른 글

백준 17144 : 미세먼지 안녕!  (0) 2021.03.23
백준 14391 : 종이 조각  (0) 2021.03.19
백준 15686 : 치킨 배달  (0) 2021.03.18
백준 14620 : 꽃길  (0) 2021.03.17
백준 18511 : 큰 수 구성하기  (0) 2021.03.17

www.acmicpc.net/problem/15686

 

15686번: 치킨 배달

크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸

www.acmicpc.net

3중 반복문은 보기만 해도 속이 답답해진다

마음에 들지 않는다

 

2차원 배열을 그리고 치킨집과의 거리를 넣었다

순열조합으로 0~n개의 치킨집 중 M개의 치킨집 중 살릴 치킨집을 선택하고 치킨 거리를 구한다

빨간 X는 순열조합에 의해 폐점될 치킨집이다

구한 치킨 거리를 chickenDists에 넣고 마지막에 sumDist로 도시의 치킨 거리를 종합, 최소값을 찾는다

'알고리즘' 카테고리의 다른 글

백준 14391 : 종이 조각  (0) 2021.03.19
백준 6443 : 애너그램  (0) 2021.03.19
백준 14620 : 꽃길  (0) 2021.03.17
백준 18511 : 큰 수 구성하기  (0) 2021.03.17
프로그래머스 49994 : 방문 길이  (0) 2021.01.21

www.acmicpc.net/problem/14620

 

14620번: 꽃길

2017년 4월 5일 식목일을 맞이한 진아는 나무를 심는 대신 하이테크관 앞 화단에 꽃을 심어 등교할 때 마다 꽃길을 걷고 싶었다. 진아가 가진 꽃의 씨앗은 꽃을 심고나면 정확히 1년후에 꽃이 피므

www.acmicpc.net

 

변수 이름에 나름 신경을 썼다

 

근데 setGround는 별로 마음에 안든다

'알고리즘' 카테고리의 다른 글

백준 6443 : 애너그램  (0) 2021.03.19
백준 15686 : 치킨 배달  (0) 2021.03.18
백준 18511 : 큰 수 구성하기  (0) 2021.03.17
프로그래머스 49994 : 방문 길이  (0) 2021.01.21
백준 1501 : 영어 읽기  (0) 2020.11.17

www.acmicpc.net/problem/18511

 

18511번: 큰 수 구성하기

첫째 줄에 N, K의 원소의 개수가 공백을 기준으로 구분되어 자연수로 주어진다. (10 ≤ N ≤ 100,000,000, 1 ≤ K의 원소의 개수 ≤ 3) 둘째 줄에 K의 원소들이 공백을 기준으로 구분되어 주어진다. 각

www.acmicpc.net

BFS로 풀어보려 했지만 둘 다 크게 상관이 없다는걸 깨닫고 DFS로 풀었다

'알고리즘' 카테고리의 다른 글

백준 15686 : 치킨 배달  (0) 2021.03.18
백준 14620 : 꽃길  (0) 2021.03.17
프로그래머스 49994 : 방문 길이  (0) 2021.01.21
백준 1501 : 영어 읽기  (0) 2020.11.17
백준 1261 : 알고스팟  (0) 2020.11.17

programmers.co.kr/learn/courses/30/lessons/49994?language=cpp

 

코딩테스트 연습 - 방문 길이

 

programmers.co.kr

C++ 알고리즘 스터디를 신청하라는 홍보 메일이 와서 읽어봤다

 

헌데 메일에서 "이 문제를 풀 때 깔끔하게 통과를 못하거나, 문제를 못푸는 경우 이 스터디를 고려해보세요"라는 말에

 

'그럼 이 문제를 풀면 스터디를 안해도 되나?' 싶어서 냉큼 풀어봤다

 

여태 Dx니 디자인패턴이니 알고리즘을 등한시했기에 나름대로 복습하는 겸 해봤는데

 

ㅋㅋㅋ 다까먹었을줄이야

 

신청해보는것도 좋겠다 싶은 생각이 든다

'알고리즘' 카테고리의 다른 글

백준 14620 : 꽃길  (0) 2021.03.17
백준 18511 : 큰 수 구성하기  (0) 2021.03.17
백준 1501 : 영어 읽기  (0) 2020.11.17
백준 1261 : 알고스팟  (0) 2020.11.17
백준 13549 : 숨바꼭질 3  (0) 2020.11.17

www.acmicpc.net/problem/1501

 

1501번: 영어 읽기

첫째 줄에 사전에 있는 단어들의 개수 N(0≤N≤10,000)이 주어진다. 다음 N개의 줄에는 각 줄에 하나씩, 영어 사전에 있는 단어들이 주어진다. 각 단어의 길이는 100자를 넘지 않는다. 다음 줄에 해석

www.acmicpc.net

 

내가 구상한 방법 자체는 맞았지만

 

코드를 짜는 방식에서 미숙한점이 많았고

 

예외처리를 제대로 하지 못했다

 

processingWord를 사용하는 부분에서 굉장히 많은 문제가 일어나게 된다

 

가령 dictionary[i], parsedWord[i]의 size가 1, 2라거나 등등

 

여기서 잘 짚고 넘어가야 하는 것은 이렇듯 어떠한 변수나, 객체의 데이터, 값, 정보 등을 부분적을 분할하거나 수정하는 경우, 무지무지무지무지막지하게 조심해도 부족하지 않다는 것이다.

 

또한 75 ~ 79라인의 코드도 오답을 일으킨다

 

 

이런 식으로 최대한 더럽지 않게, 문제 생기지 않게 짜는 능력을 길러야 한다는 생각이 팍팍 든다...

 

근데 이것도 더럽다.

 

이것도 더러워보인다

 

더 훌륭한 코드는 다른 블로그에 널려있다...

'알고리즘' 카테고리의 다른 글

백준 18511 : 큰 수 구성하기  (0) 2021.03.17
프로그래머스 49994 : 방문 길이  (0) 2021.01.21
백준 1261 : 알고스팟  (0) 2020.11.17
백준 13549 : 숨바꼭질 3  (0) 2020.11.17
백준 14500 : 테트로미노  (0) 2020.11.17

www.acmicpc.net/problem/1261

 

1261번: 알고스팟

첫째 줄에 미로의 크기를 나타내는 가로 크기 M, 세로 크기 N (1 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 미로의 상태를 나타내는 숫자 0과 1이 주어진다. 0은 빈 방을 의미하고, 1은 벽을 의미

www.acmicpc.net

 

숨바꼭질 3의 연장선 문제, 

 

근데 무시무시한 점은, 내가 이걸 푼 기억이 안나

 

두렵다...두려워...

'알고리즘' 카테고리의 다른 글

프로그래머스 49994 : 방문 길이  (0) 2021.01.21
백준 1501 : 영어 읽기  (0) 2020.11.17
백준 13549 : 숨바꼭질 3  (0) 2020.11.17
백준 14500 : 테트로미노  (0) 2020.11.17
백준 14226 : 이모티콘  (0) 2020.11.17

www.acmicpc.net/problem/13549

 

13549번: 숨바꼭질 3

수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일

www.acmicpc.net

 

큐를 두개 쓰거나, deque를 쓰면 해결이 가능할 거라는 말만 듣고 들이박았다가 된통 깨진 기억이 난다.

 

87 ~ 91 라인이 큐를 두 개 사용하는 코드에서 핵심 부분인데, 이렇게 해야하는 건지는 상상도 못했지...

'알고리즘' 카테고리의 다른 글

백준 1501 : 영어 읽기  (0) 2020.11.17
백준 1261 : 알고스팟  (0) 2020.11.17
백준 14500 : 테트로미노  (0) 2020.11.17
백준 14226 : 이모티콘  (0) 2020.11.17
백준 4963 : 섬의 개수  (0) 2020.11.17

www.acmicpc.net/problem/14500

 

14500번: 테트로미노

폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변

www.acmicpc.net

 

이정도 코드면 직접 타이핑을 할 수 있겠다 싶어서 했지만, 만약 도형들이 이보다 더 많은 경우거나 혹은 그에 준하는 상황이라면 도형을 재귀호출 DFS같은 방식으로 생성하는 코드를 만들었을 것이다.

 

실제로 직접 생성한 코드들도 많이 보였다. 물론 위의 코드보다 속도는 더 늦게 나왔지만, 아마 이 코드를 직접 타이핑하는 시간보다는 적게 걸렸을 것인데, 어떤 방법이 가장 좋은 방법인지는 잘 모르겠다.

'알고리즘' 카테고리의 다른 글

백준 1261 : 알고스팟  (0) 2020.11.17
백준 13549 : 숨바꼭질 3  (0) 2020.11.17
백준 14226 : 이모티콘  (0) 2020.11.17
백준 4963 : 섬의 개수  (0) 2020.11.17
백준 14719 : 빗물  (0) 2020.10.24

www.acmicpc.net/problem/14226

 

14226번: 이모티콘

영선이는 매우 기쁘기 때문에, 효빈이에게 스마일 이모티콘을 S개 보내려고 한다. 영선이는 이미 화면에 이모티콘 1개를 입력했다. 이제, 다음과 같은 3가지 연산만 사용해서 이모티콘을 S개 만

www.acmicpc.net

 

문제 자체는 그냥저냥 할 수 있으나, 필요 없는 연산, 필요 없는 범위를 잘 줄이는게 핵심이다.

'알고리즘' 카테고리의 다른 글

백준 13549 : 숨바꼭질 3  (0) 2020.11.17
백준 14500 : 테트로미노  (0) 2020.11.17
백준 4963 : 섬의 개수  (0) 2020.11.17
백준 14719 : 빗물  (0) 2020.10.24
프로그래머스 68646 : 풍선 터트리기  (0) 2020.10.24

www.acmicpc.net/problem/4963

 

4963번: 섬의 개수

입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도

www.acmicpc.net

 

시시해서 죽고싶어졌다

'알고리즘' 카테고리의 다른 글

백준 14500 : 테트로미노  (0) 2020.11.17
백준 14226 : 이모티콘  (0) 2020.11.17
백준 14719 : 빗물  (0) 2020.10.24
프로그래머스 68646 : 풍선 터트리기  (0) 2020.10.24
백준 1759 : 암호 만들기  (0) 2020.10.22

www.acmicpc.net/problem/14719

 

14719번: 빗물

첫 번째 줄에는 2차원 세계의 세로 길이 H과 2차원 세계의 가로 길이 W가 주어진다. (1 ≤ H, W ≤ 500) 두 번째 줄에는 블록이 쌓인 높이를 의미하는 0이상 H이하의 정수가 2차원 세계의 맨 왼쪽 위치

www.acmicpc.net

 

처음에

 

골짜기의 left와 right를 특정해 left와 right 중 최솟값을 알아내 골짜기의 깊이와 연산하는 방식을 생각해서 열심히 짜다가

 

뭘 놓친건지, 계속 틀렸다.

 

분명 별거 아닌데 자꾸 틀리는게 화가나서

 

동적계획법으로 풀었다

 

시간복잡도는 내가 기존에 하려던 방식과 동일하다

 

이럴거면 처음부터 이렇게 풀걸

'알고리즘' 카테고리의 다른 글

백준 14226 : 이모티콘  (0) 2020.11.17
백준 4963 : 섬의 개수  (0) 2020.11.17
프로그래머스 68646 : 풍선 터트리기  (0) 2020.10.24
백준 1759 : 암호 만들기  (0) 2020.10.22
백준 7576 : 토마토  (0) 2020.10.22

programmers.co.kr/learn/courses/30/lessons/68646

 

코딩테스트 연습 - 풍선 터트리기

[-16,27,65,-2,58,-92,-71,-68,-61,-33] 6

programmers.co.kr

 

월간 코드 챌린지 3번

 

규칙을 찾는 문제

 

a의 길이는 1,000,000

 

n^2 = 1,000,000,000,000

 

이러한 방식으로는 안풀린다

 

2N = 2,000,000

 

베리굿

'알고리즘' 카테고리의 다른 글

백준 4963 : 섬의 개수  (0) 2020.11.17
백준 14719 : 빗물  (0) 2020.10.24
백준 1759 : 암호 만들기  (0) 2020.10.22
백준 7576 : 토마토  (0) 2020.10.22
백준 2530 : 인공지능 시계  (0) 2020.10.22

www.acmicpc.net/problem/1759

 

1759번: 암호 만들기

첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다.

www.acmicpc.net

순열 조합 베이스에 문자열 한스푼을 담은 문제

 

별거없다

'알고리즘' 카테고리의 다른 글

백준 14719 : 빗물  (0) 2020.10.24
프로그래머스 68646 : 풍선 터트리기  (0) 2020.10.24
백준 7576 : 토마토  (0) 2020.10.22
백준 2530 : 인공지능 시계  (0) 2020.10.22
백준 13023 : ABCDE  (0) 2020.10.22

www.acmicpc.net/problem/7576

 

7576번: 토마토

첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토

www.acmicpc.net

 

 

근본이 넘치는 bfs 문제

'알고리즘' 카테고리의 다른 글

프로그래머스 68646 : 풍선 터트리기  (0) 2020.10.24
백준 1759 : 암호 만들기  (0) 2020.10.22
백준 2530 : 인공지능 시계  (0) 2020.10.22
백준 13023 : ABCDE  (0) 2020.10.22
백준 1009 : 분산처리  (0) 2020.10.22

+ Recent posts