코딩 193

[백준] 24268번 2022는 무엇이 특별할까? - C/C++

https://www.acmicpc.net/problem/24268 24268번: 2022는 무엇이 특별할까? 백준 온라인 저지의 신년대회 Hello, BOJ 2022!의 개최일은 2022년 1월 15일이다. 준겸이는 대회가 개최된다는 사실이 기뻐 제목을 뚫어져라 보다가 2022가 무언가 특별하다는 사실을 깨달았다. 그렇 www.acmicpc.net 백준 온라인 저지의 신년대회 Hello, BOJ 2022!의 개최일은 2022년 1월 15일이다. 준겸이는 대회가 개최된다는 사실이 기뻐 제목을 뚫어져라 보다가 2022가 무언가 특별하다는 사실을 깨달았다. 그렇다. 2022를 5진법으로 표현하면 31042(5)로, 5진법의 각 숫자인 0, 1, 2, 3, 4가 모두 한 번씩 나타난다. 다음에 이런 년도가 오..

코딩/백준 2022.01.21

[백준]1052번 물병 - C/C++

https://www.acmicpc.net/problem/1052 1052번: 물병 지민이는 N개의 물병을 가지고 있다. 각 물병에는 물을 무한대로 부을 수 있다. 처음에 모든 물병에는 물이 1리터씩 들어있다. 지민이는 이 물병을 또 다른 장소로 옮기려고 한다. 지민이는 한 번 www.acmicpc.net 문제 지민이는 N개의 물병을 가지고 있다. 각 물병에는 물을 무한대로 부을 수 있다. 처음에 모든 물병에는 물이 1리터씩 들어있다. 지민이는 이 물병을 또 다른 장소로 옮기려고 한다. 지민이는 한 번에 K개의 물병을 옮길 수 있다. 하지만, 지민이는 물을 낭비하기는 싫고, 이동을 한 번보다 많이 하기는 싫다. 따라서, 지민이는 물병의 물을 적절히 재분배해서, K개를 넘지 않는 비어있지 않은 물병을 만들..

코딩/백준 2022.01.20

[백준]1041번 주사위 - C/C++

https://www.acmicpc.net/problem/1041 1041번: 주사위 첫째 줄에 N이 주어진다. 둘째 줄에 주사위에 쓰여 있는 수가 주어진다. 위의 그림에서 A, B, C, D, E, F에 쓰여 있는 수가 차례대로 주어진다. N은 1,000,000보다 작거나 같은 자연수이고, 쓰여 있는 수 www.acmicpc.net 문제 +---+ | D | +---+---+---+---+ | E | A | B | F | +---+---+---+---+ | C | +---+ 주사위는 위와 같이 생겼다. 주사위의 여섯 면에는 수가 쓰여 있다. 위의 전개도를 수가 밖으로 나오게 접는다. A, B, C, D, E, F에 쓰여 있는 수가 주어진다. 지민이는 현재 동일한 주사위를 N3개 가지고 있다. 이 주사위..

코딩/백준 2022.01.19

[SWEA] 2. 링크드 리스트

오늘은 링크드 리스트에 관한 내용을 공부하였다. 링크드 리스트의 경우 코딩 테스트 문제들에서는 한 번도 사용한 기억이 없는 것 같다. 보통 배열을 사용하거나 요즘 들어서는 vector를 사용하는 경우가 더 많았던 것 같다. 그래서 링크드 리스트는 학교 수업에서만 몇 번 사용한 것 같다. 하지만 학교 수업에서 배열을 이용하여 huffman encoding을 하려고 했을 때 배열로 구현하려다가 실패하고 링크드 리스트로 구현했던 기억이 있다. 오늘 들은 강의에서도 코딩 테스트 문제에서 링크드 리스트는 많이 쓰이는 자료구조라고 하니 이렇게 배열이나 vector 보다 링크드 리스트가 편한 경우도 있나 보다! 강의자료의 처음에 메모리 풀이라는 정적 할당의 한 방식을 보았다. 처음 보는 방식이었는데 되게 신기하였다...

[SWEA] 오리엔테이션 후기 + 1. 비트 연산

첫째날은 가벼운 오리엔테이션과 함께 건국대학교의 김성열 교수님이 프로그래밍에 대한 강의를 해주셨다. 되게 인상 깊은 강의였다. 특히 강의 중간에 교수님께서 다른 교수님께 컴퓨터과가 왜 대학교에 있어야 하는지 학원에서 6개월만 배우고 간 사람이랑 컴퓨터 과를 졸업한 사람이랑 하는일이 다른 것이 없지 않냐는 말을 들으셨다고 했다. 그때 교수님이 내린 결론은 컴퓨터과는 결과물을 내는 것이 쉬운 것이지 결과물 자체가 쉬운 것을 아니라고 하셨다. 생물학과는 6개월만 배워서는 큰 성과를 내지 못하지만 컴퓨터 프로그래밍은 조금만 배워도 결과가 바로바로 나오는 학문이라 그런 오해가 생길 수 있지만 결국 좋은 코드를 만드는 것은 부단한 노력이 필요한 일이라고 하셨다. 솔직히 나도 컴퓨터 공학과에 재학중이지만 요즘 많은 ..

[삼성전자 DX 부문 동계 대학생 S/W 알고리즘 역량 강화 특강]

42 서울 체크인 미팅 신청을 실패하고 방학 중 다른 것을 해야겠다고 생각을 했는데 학과 홈페이지에 알고리즘 특강에 관한 글이 올라왔다. 체크인에 성공하지 못하면 자바언어를 공부하거나 알고리즘 공부를 더 할 생각을 가지고 있었는데 좋은 기회인 것 같아 신청하게 되었다. 신청을 완료하면 사전 문제풀이를 해야 한다. 총 3문제로 구성되어있고 문제는 평소 풀던 백준 문제에 비해 스케일이 컸다. 평소 구현 문제는 귀찮다고 안 풀었는데 막상 풀려니 되게 막막했다. 월요일부터 수요일까지 문제 풀이를 진행하면 됐는데 계절학기 기말고사가 화요일에 끝났기 때문에 화요일 시험이 끝난 오후부터 문제를 풀었다. 이틀 정도 잡고 풀 생각이었는데 다시 보니 풀이가 수요일 13:00시 까지였다. 친구들이 1번 문제를 거의 다 풀어..

[백준]1068번 트리 - C/C++

https://www.acmicpc.net/problem/1068 1068번: 트리 첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트) -1이 주어진다 www.acmicpc.net 문제 트리에서 리프 노드란, 자식의 개수가 0인 노드를 말한다. 트리가 주어졌을 때, 노드 하나를 지울 것이다. 그때, 남은 트리에서 리프 노드의 개수를 구하는 프로그램을 작성하시오. 노드를 지우면 그 노드와 노드의 모든 자손이 트리에서 제거된다. 예를 들어, 다음과 같은 트리가 있다고 하자. 현재 리프 노드의 개수는 3개이다. (초록색 색칠된 노드) 이때, 1번을 지우면, 다음과 같이 변한..

코딩/백준 2022.01.15

[백준]11404번 플로이드 C/C++

https://www.acmicpc.net/problem/11404 11404번: 플로이드 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 www.acmicpc.net 문제 n(2 ≤ n ≤ 100) 개의 도시가 있다. 그리고 한 도시에서 출발하여 다른 도시에 도착하는 m(1 ≤ m ≤ 100,000) 개의 버스가 있다. 각 버스는 한 번 사용할 때 필요한 비용이 있다. 모든 도시의 쌍 (A, B)에 대해서 도시 A에서 B로 가는데 필요한 비용의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어..

코딩/백준 2022.01.14

[백준]1005번 ACM Craft - C/C++

https://www.acmicpc.net/problem/1005 1005번: ACM Craft 첫째 줄에는 테스트케이스의 개수 T가 주어진다. 각 테스트 케이스는 다음과 같이 주어진다. 첫째 줄에 건물의 개수 N과 건물간의 건설순서 규칙의 총 개수 K이 주어진다. (건물의 번호는 1번부 www.acmicpc.net 문제 서기 2012년! 드디어 2년간 수많은 국민들을 기다리게 한 게임 ACM Craft (Association of Construction Manager Craft)가 발매되었다. 이 게임은 지금까지 나온 게임들과는 다르게 ACM크래프트는 다이나믹한 게임 진행을 위해 건물을 짓는 순서가 정해져 있지 않다. 즉, 첫 번째 게임과 두 번째 게임이 건물을 짓는 순서가 다를 수도 있다. 매 게임시..

코딩/백준 2022.01.13