emeraldgoose
goooose

전체 글

백준, 프로그래머스, SWEA, 코드트리 문제 풀이 전용
프로그래머스

2024 KAKAO WINTER INTERNSHIP 문제풀이 (Python)

가장 많이 받은 선물 그냥 구현하면 됩니다. HTML 삽입 미리보기할 수 없는 소스 도넛과 막대 그래프 정점을 찾고 생성된 정점(root)과 연결된 정점들에 대해 dfs로 탐색하면서 8자 그래프, 도넛 그래프인지 판단하고 생성된 정점과 연결된 간선에서 두 그래프의 수를 뺀 값이 막대모양 그래프의 수 입니다. HTML 삽입 미리보기할 수 없는 소스 카카오 블로그에 설명되어 있는 방법으로 풀었다면 더 짧은 코드로 해결할 수 있습니다. HTML 삽입 미리보기할 수 없는 소스 주사위 고르기 A와 B가 주사위를 골라 가능한 모든 수를 저장해두고 A가 B를 이길 수 있는 경우를 binary search로 찾아 누적한 뒤 가장 높은 승률을 가진 주사위 조합을 리턴합니다. HTML 삽입 미리보기할 수 없는 소스 n +..

코드트리

코드트리 왕실의 기사 대결 (C++)

2023 하반기 삼성 코딩테스트 오전 1번 문제입니다. 기사를 움직이면서 밀어내는 기사들을 queue로 체크하여 문제를 풀었습니다. 움직이는 기사 뿐만 아니라 밀리게 되는 기사들에 대해 움직일 수 있는지 체크해야 합니다. HTML 삽입 미리보기할 수 없는 소스

코드트리

코드트리 예술성 (C++)

문제를 그대로 구현하면 됩니다. 회전하는 부분이 있어 코드가 좀 더럽습니다. 예술성을 계산하는 부분에서는 맞닿아 있는 변의 수를 체크하기 위해 map 자료구조를 사용했습니다. 아래 방향과 오른쪽 방향만 체크하여 중복되지 않게 작성했습니다. HTML 삽입 미리보기할 수 없는 소스

코드트리

코드트리 토끼와 경주 (C++)

2023 삼성 상반기 코딩테스트 오전 2번 문제입니다. 최대 2000마리의 토끼를 빠르게 선택하기 위해 우선순위 큐를 이용했습니다. 이 문제에서 생각해봐야 할 것은 토끼의 이동입니다. 토끼의 이동은 최대 10억을 가질 수 있으므로 한 칸씩 이동할 수 없습니다. 현재 위치와 방향에서 같은 위치와 방향을 가리킬 때까지 토끼가 이동할 거리는 2 * ((N or M) - 1) 이므로 나머지 연산으로 계산량을 줄여야 합니다. HTML 삽입 미리보기할 수 없는 소스

코드트리

코드트리 포탑 부수기 (C++)

2023 상반기 삼성 코딩테스트 오전 1번 문제입니다. 문제에 나와있는 대로 함수를 구성하고 구현하면 됩니다. 공격자와 희생자 선정은 필요한 값을 저장하여 정렬하는 것으로 찾을 수 있습니다. 공격자와 희생자의 선정 방법이 완전히 반대이므로 정렬 후 공격자는 첫 번째, 희생자는 마지막 값을 리턴하면 됩니다. 레이저 공격이 실패하면 포탄 공격으로 넘어가므로 레이저 공격을 하는 함수에 true / false 리턴값을 넣어 레이저 공격이 성공했는지 실패했는지 알 수 있도록 합니다. 공격시 레이저와 포탄을 사용하는데 레이저 공격은 최단경로를 이용하므로 bfs를 사용하면 됩니다. 이 문제에서 주의할 점은 범위가 넘어가면 반대편이 된다는 것입니다. HTML 삽입 미리보기할 수 없는 소스

후기

탑프로그래머스 후기

2개월 전에 갑자기 뜬금없는 메일이 하나 도착했습니다. 메일을 확인해보니 작년 하반기 SKT T-worx 코딩테스트에서 상위 5%이내 들었다고 하며 탑프로그래머스 인증뱃지를 달 수 있는 기회라고 안내받았습니다. 밑에 설문 링크가 첨부되어 있어 설문을 완료하면 다음날에 프로그래머스 프로필에 탑프로그래머스라는 뱃지가 달리게 됩니다. 따로 돈내는 것도 아니고 단순히 프로그래머스를 이용하는 채용담당자분들에 눈에 띄는 정도로만 알고 있어서 그냥 달아봤습니다. 2개월간 어떤 변화가 있는지 기다렸지만 현재까지 연락이 오거나 하는 것은 없었습니다...

SW Expert Academy

[모의 SW 역량테스트] 특이한 자석 (C++)

주어진 문제 그대로 구현하면 되는 시뮬레이션 문제입니다. 자석의 N과 S극이 닿게되면 같이 움직이므로 회전하는 방향이 바뀌는 것만 주의하면 됩니다. HTML 삽입 미리보기할 수 없는 소스

SW Expert Academy

[모의 SW 역량테스트] 원자 소멸 시뮬레이션 (C++)

원자들이 충돌할 경우 가지고 있는 에니저를 발산한 뒤 소멸하는 시뮬레이션 문제입니다. 원자가 1초에 1만큼 이동하지만 0.5초에 충돌할 수 있어 전체 격자를 2배로 늘려 계산해야 합니다. C++을 사용할 경우 vector와 같은 2차원 벡터를 사용할 수 있는데 int[][]보다 랜덤접근이 느려 TLE가 발생합니다. 원자를 저장하는 atoms 배열과 원자들의 수를 카운트하는 board, 원자들이 충돌했는지 확인하는 crash 모두 vector 구조를 사용하지 않았습니다. 아래 코드에서 위의 3개 중 하나라도 vector를 사용하면 TLE가 발생했습니다. HTML 삽입 미리보기할 수 없는 소스

SW Expert Academy

[모의 SW 역량테스트] 숫자 만들기 (C++)

연산자들의 순열을 구하고 수식을 계산한 값의 최솟값과 최댓값의 차이를 구하는 문제입니다. 구한 수식에 대해 연산자 우선순위가 적용되지 않아 그대로 구현만하면 해결할 수 있습니다. HTML 삽입 미리보기할 수 없는 소스

SW Expert Academy

[모의 SW 역량테스트] 탈주범 검거 (C++)

맨홀 위치에서 탈주범이 있을 공간의 수를 출력하는 문제입니다. 단순하게 맨홀 위치에서 시작하여 BFS로 탐색하면 되고 맨홀 위치의 시간을 0으로 두었을 때 파이프를 통해 시간을 1씩 증가시켜 L 시간 내의 범위의 공간의 수를 세면 됩니다. HTML 삽입 미리보기할 수 없는 소스