<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Melody Coding</title>
    <link>https://melody-coding.tistory.com/</link>
    <description>  삐약이 개발자  </description>
    <language>ko</language>
    <pubDate>Wed, 15 Jul 2026 02:33:42 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>뿌야._.</managingEditor>
    <image>
      <title>Melody Coding</title>
      <url>https://tistory1.daumcdn.net/tistory/4384032/attach/35638230303a40ab867474088c411506</url>
      <link>https://melody-coding.tistory.com</link>
    </image>
    <item>
      <title>[programmers] 타겟 넘버</title>
      <link>https://melody-coding.tistory.com/951</link>
      <description>&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;문제&lt;br /&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/43165&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://school.programmers.co.kr/learn/courses/30/lessons/43165&lt;/a&gt;&lt;/blockquote&gt;
&lt;figure id=&quot;og_1784014968981&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;프로그래머스&quot; data-og-description=&quot;SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/43165&quot; data-og-url=&quot;https://programmers.co.kr/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bbGiwL/dJMb8WMBZTf/Ggaj4AObHowV9clwQIIi0k/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960,https://scrap.kakaocdn.net/dn/crCPUg/dJMb8PGIwJG/MXp7GTlKlnP67UNwHlX0NK/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960&quot;&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/43165&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/43165&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bbGiwL/dJMb8WMBZTf/Ggaj4AObHowV9clwQIIi0k/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960,https://scrap.kakaocdn.net/dn/crCPUg/dJMb8PGIwJG/MXp7GTlKlnP67UNwHlX0NK/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;프로그래머스&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;&amp;lt; 타겟&amp;nbsp;넘버 &amp;gt;&lt;/h4&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;문제 풀이&amp;nbsp;&lt;/b&gt;&lt;b&gt;(&lt;span style=&quot;color: #1a5490;&quot;&gt;Java&lt;/span&gt;)&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1784015094063&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution {
	static int answer;

	public int solution(int[] numbers, int target) {
		answer = 0;

		dfs(numbers, 0, target, 0);

		return answer;
	}

	private void dfs(int[] numbers, int sum, int target, int idx) {
		if (idx == numbers.length) {
			if (target == sum) {
				answer += 1;
			}
			return;
		}

		dfs(numbers, sum + numbers[idx], target, idx + 1);
		dfs(numbers, sum - numbers[idx], target, idx + 1);

	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;dfs를 호출한 뒤 answer을 반환한다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;dfs 함수에서는 idx가 numbers 끝까지 탐색했다면 return 한다. 이때, target 값과 sum 값이 같다면 answer에 1을 더해준다. 아직 탐색 중이라면 다음 값을 위해 idx+1로 dfs를 호출하며 각 +일 때와 -일 때를 구한다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;642&quot; data-origin-height=&quot;116&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bnsxO1/dJMcafOas50/LKZU7N9fN6I1NK7GZrkMO0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bnsxO1/dJMcafOas50/LKZU7N9fN6I1NK7GZrkMO0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bnsxO1/dJMcafOas50/LKZU7N9fN6I1NK7GZrkMO0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbnsxO1%2FdJMcafOas50%2FLKZU7N9fN6I1NK7GZrkMO0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;642&quot; height=&quot;116&quot; data-origin-width=&quot;642&quot; data-origin-height=&quot;116&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;출처: 프로그래머스 코딩 테스트 연습,&amp;nbsp;&lt;br /&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/challenges&quot;&gt;https://school.programmers.co.kr/learn/challenges&lt;/a&gt;&lt;/blockquote&gt;</description>
      <category> Algorithm/ programmers</category>
      <category>java</category>
      <category>programmers</category>
      <category>타겟 넘버</category>
      <category>프로그래머스</category>
      <author>뿌야._.</author>
      <guid isPermaLink="true">https://melody-coding.tistory.com/951</guid>
      <comments>https://melody-coding.tistory.com/951#entry951comment</comments>
      <pubDate>Tue, 14 Jul 2026 16:47:49 +0900</pubDate>
    </item>
    <item>
      <title>[programmers] 게임 맵 최단거리</title>
      <link>https://melody-coding.tistory.com/950</link>
      <description>&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;문제&lt;br /&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/1844&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://school.programmers.co.kr/learn/courses/30/lessons/1844&lt;/a&gt;&lt;/blockquote&gt;
&lt;figure id=&quot;og_1783908287866&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;프로그래머스&quot; data-og-description=&quot;SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/1844&quot; data-og-url=&quot;https://programmers.co.kr/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/ck94Ig/dJMb9g5m142/HJP75fRgkMTyDA7azhUQak/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960,https://scrap.kakaocdn.net/dn/bKURSC/dJMb8TCl2gu/vKCAarIgn6vJ4ojcvP4srK/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960&quot;&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/1844&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/1844&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/ck94Ig/dJMb9g5m142/HJP75fRgkMTyDA7azhUQak/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960,https://scrap.kakaocdn.net/dn/bKURSC/dJMb8TCl2gu/vKCAarIgn6vJ4ojcvP4srK/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;프로그래머스&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;&amp;lt; 게임&amp;nbsp;맵&amp;nbsp;최단거리 &amp;gt;&lt;/h4&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;문제 풀이&amp;nbsp;&lt;/b&gt;&lt;b&gt;(&lt;span style=&quot;color: #1a5490;&quot;&gt;Java&lt;/span&gt;)&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1783908313780&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.util.*;

class Solution {
	public int solution(int[][] maps) {
		int answer = -1;

		Queue&amp;lt;int[]&amp;gt; queue = new LinkedList&amp;lt;&amp;gt;();
		queue.add(new int[] { 0, 0, 1 });

		boolean visited[][] = new boolean[maps.length][maps[0].length];
		visited[0][0] = true;

		int dx[] = { -1, 1, 0, 0 };
		int dy[] = { 0, 0, -1, 1 };

		boolean flag = false;

		while (!queue.isEmpty()) {
			int info[] = queue.poll();

			for (int i = 0; i &amp;lt; 4; i++) {
				int x = info[0] + dx[i];
				int y = info[1] + dy[i];

				if (x &amp;gt;= 0 &amp;amp;&amp;amp; x &amp;lt; maps.length &amp;amp;&amp;amp; y &amp;gt;= 0 &amp;amp;&amp;amp; y &amp;lt; maps[0].length &amp;amp;&amp;amp; maps[x][y] == 1 &amp;amp;&amp;amp; !visited[x][y]) {
					if (x == maps.length - 1 &amp;amp;&amp;amp; y == maps[0].length - 1) {
						answer = info[2] + 1;
						flag = true;
						break;
					}
					visited[x][y] = true;
					queue.add(new int[] { x, y, info[2] + 1 });
				}
			}
			if (flag) {
				break;
			}
		}
		return answer;
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Queue에 시작 위치와 지나가야 하는 칸의 개수를 저장한 뒤 Queue가 빌 때까지 다음 과정을 반복한다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1. queue poll&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;2. 상하좌우 탐색하며 maps 범위 안이고 벽이 없는 자리이며 아직 방문하지 않은 곳이라면 방문 표시 및 queue에 추가. 이때, 이동한 위치가 우측 하단이라면 answer 업데이트 후 종료&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;최종 answer을 반환한다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;650&quot; data-origin-height=&quot;126&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bzE4CK/dJMcadvQtqW/wbsti5tHCCYZMAObrqmu1K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bzE4CK/dJMcadvQtqW/wbsti5tHCCYZMAObrqmu1K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bzE4CK/dJMcadvQtqW/wbsti5tHCCYZMAObrqmu1K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbzE4CK%2FdJMcadvQtqW%2Fwbsti5tHCCYZMAObrqmu1K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;650&quot; height=&quot;126&quot; data-origin-width=&quot;650&quot; data-origin-height=&quot;126&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;출처: 프로그래머스 코딩 테스트 연습,&amp;nbsp;&lt;br /&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/challenges&quot;&gt;https://school.programmers.co.kr/learn/challenges&lt;/a&gt;&lt;/blockquote&gt;</description>
      <category> Algorithm/ programmers</category>
      <category>java</category>
      <category>programmers</category>
      <category>게임 맵 최단거리</category>
      <category>프로그래머스</category>
      <author>뿌야._.</author>
      <guid isPermaLink="true">https://melody-coding.tistory.com/950</guid>
      <comments>https://melody-coding.tistory.com/950#entry950comment</comments>
      <pubDate>Mon, 13 Jul 2026 11:13:00 +0900</pubDate>
    </item>
    <item>
      <title>[programmers] 폰켓몬</title>
      <link>https://melody-coding.tistory.com/949</link>
      <description>&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;문제&lt;br /&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/1845&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://school.programmers.co.kr/learn/courses/30/lessons/1845&lt;/a&gt;&lt;/blockquote&gt;
&lt;figure id=&quot;og_1783043570777&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;프로그래머스&quot; data-og-description=&quot;SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/1845&quot; data-og-url=&quot;https://programmers.co.kr/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/xXfhF/dJMb9dHzeIz/VhKLJ6XqzGzfFzGkMEuDd0/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960,https://scrap.kakaocdn.net/dn/dvY9Ov/dJMb9gxwvpf/sGlgUaZdTfvFeZfltstIX0/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960&quot;&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/1845&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/1845&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/xXfhF/dJMb9dHzeIz/VhKLJ6XqzGzfFzGkMEuDd0/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960,https://scrap.kakaocdn.net/dn/dvY9Ov/dJMb9gxwvpf/sGlgUaZdTfvFeZfltstIX0/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;프로그래머스&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;&amp;lt; 폰켓몬&amp;nbsp;&amp;gt;&lt;/h4&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;문제 풀이&amp;nbsp;&lt;/b&gt;&lt;b&gt;(&lt;span style=&quot;color: #1a5490;&quot;&gt;Java&lt;/span&gt;)&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1783043601708&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.util.*;

class Solution {
	public int solution(int[] nums) {
		int answer = 0;

		HashMap&amp;lt;Integer, Integer&amp;gt; map = new HashMap&amp;lt;&amp;gt;();
		for (int i = 0; i &amp;lt; nums.length; i++) {
			if (map.containsKey(nums[i])) {
				map.replace(nums[i], map.get(nums[i]) + 1);
			} else {
				map.put(nums[i], 1);
			}
		}

		if (nums.length / 2 &amp;lt;= map.size()) {
			answer = nums.length / 2;
		} else {
			answer = map.size();
		}

		return answer;
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;HashMap을 사용해서 폰켓몬의 종류와 개수를 구한다. HashMap의 크기가 N/2 이상이라면 최대 N/2 종류를 가질 수 있고, N/2보다 작다면 HashMap의 크기만큼 종류를 가질 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;632&quot; data-origin-height=&quot;207&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GM9tS/dJMcahLLf4q/vdQXsbDBUkvTehjhVKLsEk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GM9tS/dJMcahLLf4q/vdQXsbDBUkvTehjhVKLsEk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GM9tS/dJMcahLLf4q/vdQXsbDBUkvTehjhVKLsEk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGM9tS%2FdJMcahLLf4q%2FvdQXsbDBUkvTehjhVKLsEk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;632&quot; height=&quot;207&quot; data-origin-width=&quot;632&quot; data-origin-height=&quot;207&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;출처: 프로그래머스 코딩 테스트 연습,&amp;nbsp;&lt;br /&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/challenges&quot;&gt;https://school.programmers.co.kr/learn/challenges&lt;/a&gt;&lt;/blockquote&gt;</description>
      <category> Algorithm/ programmers</category>
      <category>java</category>
      <category>programmers</category>
      <category>폰켓몬</category>
      <category>프로그래머스</category>
      <author>뿌야._.</author>
      <guid isPermaLink="true">https://melody-coding.tistory.com/949</guid>
      <comments>https://melody-coding.tistory.com/949#entry949comment</comments>
      <pubDate>Fri, 3 Jul 2026 11:00:36 +0900</pubDate>
    </item>
    <item>
      <title>[programmers] 미로 탈출</title>
      <link>https://melody-coding.tistory.com/948</link>
      <description>&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;문제&lt;br /&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/159993&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://school.programmers.co.kr/learn/courses/30/lessons/159993&lt;/a&gt;&lt;/blockquote&gt;
&lt;figure id=&quot;og_1782873256786&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;프로그래머스&quot; data-og-description=&quot;SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/159993&quot; data-og-url=&quot;https://programmers.co.kr/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/u3z6H/dJMb8RkcYKd/tlqkE55rzhHmbAbxoKsuv1/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960,https://scrap.kakaocdn.net/dn/bkQG8G/dJMb8ZvMiuM/HcvD5EFDrKo66fHvtgdqeK/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960&quot;&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/159993&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/159993&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/u3z6H/dJMb8RkcYKd/tlqkE55rzhHmbAbxoKsuv1/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960,https://scrap.kakaocdn.net/dn/bkQG8G/dJMb8ZvMiuM/HcvD5EFDrKo66fHvtgdqeK/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;프로그래머스&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;&amp;lt; 미로&amp;nbsp;탈출 &amp;gt;&lt;/h4&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;문제 풀이&amp;nbsp;&lt;/b&gt;&lt;b&gt;(&lt;span style=&quot;color: #1a5490;&quot;&gt;Java&lt;/span&gt;)&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1782873269474&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.util.*;

class Solution {
	public int solution(String[] maps) {
		int answer = -1;

		char arr[][] = new char[maps.length][maps[0].length()];
		int s[] = new int[2];
		int l[] = new int[2];
		int e[] = new int[2];

		for (int i = 0; i &amp;lt; maps.length; i++) {
			for (int j = 0; j &amp;lt; maps[0].length(); j++) {
				arr[i][j] = maps[i].charAt(j);
				if (arr[i][j] == 'S') {
					s[0] = i;
					s[1] = j;
				} else if (arr[i][j] == 'E') {
					e[0] = i;
					e[1] = j;
				} else if (arr[i][j] == 'L') {
					l[0] = i;
					l[1] = j;
				}
			}
		}

		int move1 = bfs(l, s, arr);
		int move2 = bfs(l, e, arr);

		if (move1 != -1 &amp;amp;&amp;amp; move2 != -1) {
			answer = move1 + move2;
		}

		return answer;
	}

	private int bfs(int[] start, int[] end, char[][] arr) {
		Queue&amp;lt;int[]&amp;gt; queue = new LinkedList&amp;lt;&amp;gt;();
		queue.add(new int[] { start[0], start[1], 0 });

		int dx[] = { -1, 1, 0, 0 };
		int dy[] = { 0, 0, -1, 1 };

		boolean[][] visited = new boolean[arr.length][arr[0].length];
		visited[start[0]][start[1]] = true;

		while (!queue.isEmpty()) {
			int info[] = queue.poll();

			for (int i = 0; i &amp;lt; 4; i++) {
				int x = info[0] + dx[i];
				int y = info[1] + dy[i];

				if (x == end[0] &amp;amp;&amp;amp; y == end[1]) {
					return info[2] + 1;
				}

				if (x &amp;gt;= 0 &amp;amp;&amp;amp; x &amp;lt; arr.length &amp;amp;&amp;amp; y &amp;gt;= 0 &amp;amp;&amp;amp; y &amp;lt; arr[0].length &amp;amp;&amp;amp; arr[x][y] != 'X' &amp;amp;&amp;amp; !visited[x][y]) {
					queue.add(new int[] { x, y, info[2] + 1 });
					visited[x][y] = true;
				}
			}

		}
		return -1;

	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;먼저 maps를 이차원 배열로 바꿔주며 시작 지점, 출구, 레버 위치를 구한다. (레버-&amp;gt;시작)까지 걸리는 시간과 (레버-&amp;gt;도착)까지 걸리는 시간을 bfs로 구한다. 이때, 둘 중 하나라도 -1이 반환되었다면 탈출할 수 없는 것이므로 최종 -1을 반환하고, 둘 다 -1이 아니라면 최종 두 값을 더해 반환한다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;bfs 함수에서는 Queue에 레버 위치와 이동 시간 0을 저장하고 현재 위치를 방문표시 한다. Queue가 빌 때까지 다음 과정을 반복한다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1. queue poll&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;2. 상, 하, 좌, 우를 탐색하며 배열 범위 안이고, 벽이 아니고, 아직 방문하지 않은 곳이라면 Queue에 저장 및 방문표시 한다. 이때, 도착 위치에 도달했다면 걸린 시간을 반환한다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;모든 탐색을 마친 뒤 도착 위치에 도달하지 못한다면 -1을 반환한다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;⭐중간에 거쳐야 하는 곳이 있다면 (중간 위치 -&amp;gt; 시작 위치) + (중간 위치 -&amp;gt; 도착 위치)를 구하면 쉽게 구할 수 있다! ⭐&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;까먹지 말기..!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;625&quot; data-origin-height=&quot;141&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ummDG/dJMcabkvN2E/3FQYG2tigeF6RRvFiQ0Ou0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ummDG/dJMcabkvN2E/3FQYG2tigeF6RRvFiQ0Ou0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ummDG/dJMcabkvN2E/3FQYG2tigeF6RRvFiQ0Ou0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FummDG%2FdJMcabkvN2E%2F3FQYG2tigeF6RRvFiQ0Ou0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;625&quot; height=&quot;141&quot; data-origin-width=&quot;625&quot; data-origin-height=&quot;141&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;출처: 프로그래머스 코딩 테스트 연습,&amp;nbsp;&lt;br /&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/challenges&quot;&gt;https://school.programmers.co.kr/learn/challenges&lt;/a&gt;&lt;/blockquote&gt;</description>
      <category> Algorithm/ programmers</category>
      <category>java</category>
      <category>programmers</category>
      <category>미로 탈출</category>
      <category>프로그래머스</category>
      <author>뿌야._.</author>
      <guid isPermaLink="true">https://melody-coding.tistory.com/948</guid>
      <comments>https://melody-coding.tistory.com/948#entry948comment</comments>
      <pubDate>Wed, 1 Jul 2026 11:41:41 +0900</pubDate>
    </item>
    <item>
      <title>[programmers] 숫자 변환하기</title>
      <link>https://melody-coding.tistory.com/947</link>
      <description>&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;문제&lt;br /&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/154538&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://school.programmers.co.kr/learn/courses/30/lessons/154538&lt;/a&gt;&lt;/blockquote&gt;
&lt;figure id=&quot;og_1782782976165&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;프로그래머스&quot; data-og-description=&quot;SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/154538&quot; data-og-url=&quot;https://programmers.co.kr/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/NpA2Y/dJMb86PcsYi/qBVKNQTIus0qujNQSROqnK/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960,https://scrap.kakaocdn.net/dn/Sc3Lm/dJMb86n8liM/7J2KIXra9A3az0psMWRLCk/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960&quot;&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/154538&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/154538&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/NpA2Y/dJMb86PcsYi/qBVKNQTIus0qujNQSROqnK/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960,https://scrap.kakaocdn.net/dn/Sc3Lm/dJMb86n8liM/7J2KIXra9A3az0psMWRLCk/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;프로그래머스&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;&amp;lt; 숫자&amp;nbsp;변환하기 &amp;gt;&lt;/h4&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;문제 풀이&amp;nbsp;&lt;/b&gt;&lt;b&gt;(&lt;span style=&quot;color: #1a5490;&quot;&gt;Java&lt;/span&gt;)&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1782782990990&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.util.*;

class Solution {
	public int solution(int x, int y, int n) {
		int answer = -1;

		Queue&amp;lt;int[]&amp;gt; queue = new LinkedList&amp;lt;&amp;gt;();
		queue.add(new int[] { x, 0 });

		boolean visited[] = new boolean[y + 1];
		visited[x] = true;

		if (x == y) {
			answer = 0;
		} else {
			while (!queue.isEmpty()) {
				int info[] = queue.poll();

				if (info[0] + n == y || info[0] * 2 == y || info[0] * 3 == y) {
					answer = info[1] + 1;
					break;
				}

				if (info[0] + n &amp;lt; y &amp;amp;&amp;amp; !visited[info[0] + n]) {
					queue.add(new int[] { info[0] + n, info[1] + 1 });
					visited[info[0] + n] = true;
				}
				if (info[0] * 2 &amp;lt; y &amp;amp;&amp;amp; !visited[info[0] * 2]) {
					queue.add(new int[] { info[0] * 2, info[1] + 1 });
					visited[info[0] * 2] = true;
				}
				if (info[0] * 3 &amp;lt; y &amp;amp;&amp;amp; !visited[info[0] * 3]) {
					queue.add(new int[] { info[0] * 3, info[1] + 1 });
					visited[info[0] * 3] = true;
				}
			}
		}
		return answer;
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Queue에 x와 연산 횟수 0을 추가한다. 만약 x와 y가 같다면 answer에 0을 저장하고, 같지 않다면 Queue가 빌 때까지 다음 과정을 반복한다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1. queue poll&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;2. n을 더하거나, 2를 곱하거나, 3을 곱한 값이 y라면 answer에 횟수를 업데이트하고 종료&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;3. n을 더한 값이 y보다 작고 아직 한 번도 나오지 않은 값이라면 queue에 저장 및 방문 표시&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;4. 2를 곱한 값이 y보다 작고 아직 한 번도 나오지 않은 값이라면 queue에 저장 및 방문 표시&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;5. 3을 곱한 값이 y보다 작고 아직 한 번도 나오지 않은 값이라면 queue에 저장 및 방문 표시&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;최종 answer을 반환한다.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;640&quot; data-origin-height=&quot;140&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lnPYb/dJMb99NDdZR/4mAqYWbj0gOpaU7XaCh3s1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lnPYb/dJMb99NDdZR/4mAqYWbj0gOpaU7XaCh3s1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lnPYb/dJMb99NDdZR/4mAqYWbj0gOpaU7XaCh3s1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlnPYb%2FdJMb99NDdZR%2F4mAqYWbj0gOpaU7XaCh3s1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;640&quot; height=&quot;140&quot; data-origin-width=&quot;640&quot; data-origin-height=&quot;140&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;출처: 프로그래머스 코딩 테스트 연습,&amp;nbsp;&lt;br /&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/challenges&quot;&gt;https://school.programmers.co.kr/learn/challenges&lt;/a&gt;&lt;/blockquote&gt;</description>
      <category> Algorithm/ programmers</category>
      <category>java</category>
      <category>programmers</category>
      <category>숫자 변환하기</category>
      <category>프로그래머스</category>
      <author>뿌야._.</author>
      <guid isPermaLink="true">https://melody-coding.tistory.com/947</guid>
      <comments>https://melody-coding.tistory.com/947#entry947comment</comments>
      <pubDate>Tue, 30 Jun 2026 10:42:04 +0900</pubDate>
    </item>
    <item>
      <title>[programmers] 할인 행사</title>
      <link>https://melody-coding.tistory.com/946</link>
      <description>&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;문제&lt;br /&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/131127&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://school.programmers.co.kr/learn/courses/30/lessons/131127&lt;/a&gt;&lt;/blockquote&gt;
&lt;figure id=&quot;og_1782696247999&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;프로그래머스&quot; data-og-description=&quot;SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/131127&quot; data-og-url=&quot;https://programmers.co.kr/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/Oh9UI/dJMb83Stznw/JOrSWK8IGtlKhQyLv2adh1/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960,https://scrap.kakaocdn.net/dn/btBVwW/dJMb887jkJC/kCwruh57sRZ3aIZT6wIkC0/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960&quot;&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/131127&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/131127&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/Oh9UI/dJMb83Stznw/JOrSWK8IGtlKhQyLv2adh1/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960,https://scrap.kakaocdn.net/dn/btBVwW/dJMb887jkJC/kCwruh57sRZ3aIZT6wIkC0/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;프로그래머스&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;&amp;lt; 할인&amp;nbsp;행사 &amp;gt;&lt;/h4&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;문제 풀이&amp;nbsp;&lt;/b&gt;&lt;b&gt;(&lt;span style=&quot;color: #1a5490;&quot;&gt;Java&lt;/span&gt;)&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1782696267305&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.util.*;

class Solution {
	public int solution(String[] want, int[] number, String[] discount) {
		int answer = 0;

		HashMap&amp;lt;String, Integer&amp;gt; map = new HashMap&amp;lt;&amp;gt;();
		for (int i = 0; i &amp;lt; 10; i++) {
			if (map.containsKey(discount[i])) {
				map.put(discount[i], map.get(discount[i]) + 1);
			} else {
				map.put(discount[i], 1);
			}
		}

		boolean flag = false;
		for (int i = 0; i &amp;lt; want.length; i++) {
			if (!map.containsKey(want[i]) || map.get(want[i]) != number[i]) {
				flag = true;
				break;
			}
		}

		if (!flag) {
			answer += 1;
		}

		for (int i = 10; i &amp;lt; discount.length; i++) {
			map.put(discount[i - 10], map.get(discount[i - 10]) - 1);

			if (map.containsKey(discount[i])) {
				map.put(discount[i], map.get(discount[i]) + 1);
			} else {
				map.put(discount[i], 1);
			}

			flag = false;
			for (int j = 0; j &amp;lt; want.length; j++) {
				if (!map.containsKey(want[j]) || map.get(want[j]) != number[j]) {
					flag = true;
					break;
				}
			}

			if (!flag) {
				answer += 1;
			}

		}
		return answer;
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;10일 동안 회원 자격을 부여하므로 일단 처음 10일 동안의 할인하는 제품과 개수를 구해 HashMap에 저장한다. 정현이가 원하는 제품과 수량이 일치하다면 answer+1을 한다. 이후 10일씩 살펴보기 위해 가장 앞의 하루의 할인하는 제품을 빼고 뒤에 하루의 할인하는 제품을 더한다. 정현이가 원하는 제품과 수량이 일치하다면 answer+1을 하며, 이 과정을 마지막날까지 반복한다. 최종 answer을 반환한다.&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;637&quot; data-origin-height=&quot;136&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NyyJm/dJMcaiRnVBo/cyJCU620twmRCx1r3F4HPK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NyyJm/dJMcaiRnVBo/cyJCU620twmRCx1r3F4HPK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NyyJm/dJMcaiRnVBo/cyJCU620twmRCx1r3F4HPK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNyyJm%2FdJMcaiRnVBo%2FcyJCU620twmRCx1r3F4HPK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;637&quot; height=&quot;136&quot; data-origin-width=&quot;637&quot; data-origin-height=&quot;136&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;출처: 프로그래머스 코딩 테스트 연습,&amp;nbsp;&lt;br /&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/challenges&quot;&gt;https://school.programmers.co.kr/learn/challenges&lt;/a&gt;&lt;/blockquote&gt;</description>
      <category> Algorithm/ programmers</category>
      <category>java</category>
      <category>programmers</category>
      <category>프로그래머스</category>
      <category>할인 행사</category>
      <author>뿌야._.</author>
      <guid isPermaLink="true">https://melody-coding.tistory.com/946</guid>
      <comments>https://melody-coding.tistory.com/946#entry946comment</comments>
      <pubDate>Mon, 29 Jun 2026 10:28:58 +0900</pubDate>
    </item>
    <item>
      <title>[programmers] 롤케이크 자르기</title>
      <link>https://melody-coding.tistory.com/945</link>
      <description>&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;문제&lt;br /&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/132265&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://school.programmers.co.kr/learn/courses/30/lessons/132265&lt;/a&gt;&lt;/blockquote&gt;
&lt;figure id=&quot;og_1782437648735&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;프로그래머스&quot; data-og-description=&quot;SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/132265&quot; data-og-url=&quot;https://programmers.co.kr/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/5zTQO/dJMb8Yp5CDl/JFxsXshO1XiWOkZ3kI5er1/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960,https://scrap.kakaocdn.net/dn/qDVrQ/dJMb8U83UsL/V2q3LkKKkKMW8UKKHHg8K0/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960&quot;&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/132265&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/132265&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/5zTQO/dJMb8Yp5CDl/JFxsXshO1XiWOkZ3kI5er1/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960,https://scrap.kakaocdn.net/dn/qDVrQ/dJMb8U83UsL/V2q3LkKKkKMW8UKKHHg8K0/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;프로그래머스&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;&amp;lt; 롤케이크&amp;nbsp;자르기 &amp;gt;&lt;/h4&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;문제 풀이&amp;nbsp;&lt;/b&gt;&lt;b&gt;(&lt;span style=&quot;color: #1a5490;&quot;&gt;Java&lt;/span&gt;)&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1782437668851&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution {
	public int solution(int[] topping) {
		int answer = 0;

		int arr1[] = new int[10001];
		int arr2[] = new int[10001];

		int cnt1 = 0;
		int cnt2 = 0;

		for (int i = 0; i &amp;lt; topping.length; i++) {
			if (arr1[topping[i]] == 0) {
				cnt1 += 1;
			}
			arr1[topping[i]] += 1;
		}

		for (int i = 0; i &amp;lt; topping.length; i++) {
			arr1[topping[i]] -= 1;
			if (arr1[topping[i]] == 0) {
				cnt1 -= 1;
			}

			if (arr2[topping[i]] == 0) {
				cnt2 += 1;
			}
			arr2[topping[i]] += 1;

			if (cnt1 == cnt2) {
				answer += 1;
			}
		}
		return answer;
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;일단 롤케이크 자르기 전 전체를 철수꺼라 생각하고 토핑 수를 센다. 그 후 앞에서부터 토핑 하나씩 동생한테 주면서 토핑 수가 같을 때의 수를 센다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;616&quot; data-origin-height=&quot;132&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dd1Smb/dJMcahrqC01/DjzSlxtecCnp2cXxEV85oK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dd1Smb/dJMcahrqC01/DjzSlxtecCnp2cXxEV85oK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dd1Smb/dJMcahrqC01/DjzSlxtecCnp2cXxEV85oK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdd1Smb%2FdJMcahrqC01%2FDjzSlxtecCnp2cXxEV85oK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;616&quot; height=&quot;132&quot; data-origin-width=&quot;616&quot; data-origin-height=&quot;132&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;출처: 프로그래머스 코딩 테스트 연습,&amp;nbsp;&lt;br /&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/challenges&quot;&gt;https://school.programmers.co.kr/learn/challenges&lt;/a&gt;&lt;/blockquote&gt;</description>
      <category> Algorithm/ programmers</category>
      <category>java</category>
      <category>programmers</category>
      <category>롤케이크 자르기</category>
      <category>프로그래머스</category>
      <author>뿌야._.</author>
      <guid isPermaLink="true">https://melody-coding.tistory.com/945</guid>
      <comments>https://melody-coding.tistory.com/945#entry945comment</comments>
      <pubDate>Fri, 26 Jun 2026 10:39:13 +0900</pubDate>
    </item>
    <item>
      <title>[programmers] 숫자 짝꿍</title>
      <link>https://melody-coding.tistory.com/944</link>
      <description>&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;문제&lt;br /&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/131128&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://school.programmers.co.kr/learn/courses/30/lessons/131128&lt;/a&gt;&lt;/blockquote&gt;
&lt;figure id=&quot;og_1782354569463&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;프로그래머스&quot; data-og-description=&quot;SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/131128&quot; data-og-url=&quot;https://programmers.co.kr/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/vpqzF/dJMb896dLYT/LK4ekP2caSdXDAd6TNTtS1/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960,https://scrap.kakaocdn.net/dn/bTBS1i/dJMb84X8OzH/ET0xxQ5JxN9cbpVzDY5r6K/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960&quot;&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/131128&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/131128&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/vpqzF/dJMb896dLYT/LK4ekP2caSdXDAd6TNTtS1/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960,https://scrap.kakaocdn.net/dn/bTBS1i/dJMb84X8OzH/ET0xxQ5JxN9cbpVzDY5r6K/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;프로그래머스&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;&amp;lt; 숫자&amp;nbsp;짝꿍 &amp;gt;&lt;/h4&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;문제 풀이&amp;nbsp;&lt;/b&gt;&lt;b&gt;(&lt;span style=&quot;color: #1a5490;&quot;&gt;Java&lt;/span&gt;)&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1782354634164&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution {
	public String solution(String X, String Y) {
		String answer = &quot;&quot;;
		StringBuilder sb = new StringBuilder();

		int arr1[] = new int[10];
		int arr2[] = new int[10];

		for (int i = 0; i &amp;lt; X.length(); i++) {
			int num = X.charAt(i) - '0';
			arr1[num] += 1;
		}

		for (int i = 0; i &amp;lt; Y.length(); i++) {
			int num = Y.charAt(i) - '0';
			arr2[num] += 1;
		}

		for (int i = 9; i &amp;gt;= 0; i--) {
			int cnt = Math.min(arr1[i], arr2[i]);

			if (sb.length() == 0 &amp;amp;&amp;amp; i == 0 &amp;amp;&amp;amp; cnt &amp;gt; 0) {
				sb.append(&quot;0&quot;);
			} else {
				for (int j = 0; j &amp;lt; cnt; j++) {
					sb.append(i);
				}
			}
		}

		answer = sb.toString();

		if (answer.length() == 0) {
			answer = &quot;-1&quot;;
		}

		return answer;
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;X와 Y에서 나타난 숫자의 개수를 각각 구한다. X와 Y에서 공통으로 나타나는 숫자와 개수를 구하기 위해 앞에서 구한 개수를 비교하며 둘 중 최솟값으로 구한다. 공통으로 나타나는 수를 이용해 최댓값을 만들기 위해 큰 값부터 문자열에 추가시킨다. 최종 존재하지 않는다면 -1을, 0밖에 없다면 0을, 둘 다 아니라면 문자열을 answer에 저장해 반환한다.&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;637&quot; data-origin-height=&quot;617&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJkmpm/dJMcahdRmKE/yLmMj9TyN7loU1AXvrjV7K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJkmpm/dJMcahdRmKE/yLmMj9TyN7loU1AXvrjV7K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJkmpm/dJMcahdRmKE/yLmMj9TyN7loU1AXvrjV7K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJkmpm%2FdJMcahdRmKE%2FyLmMj9TyN7loU1AXvrjV7K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;637&quot; height=&quot;617&quot; data-origin-width=&quot;637&quot; data-origin-height=&quot;617&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;출처: 프로그래머스 코딩 테스트 연습,&amp;nbsp;&lt;br /&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/challenges&quot;&gt;https://school.programmers.co.kr/learn/challenges&lt;/a&gt;&lt;/blockquote&gt;</description>
      <category> Algorithm/ programmers</category>
      <category>java</category>
      <category>programmers</category>
      <category>숫자 짝꿍</category>
      <category>프로그래머스</category>
      <author>뿌야._.</author>
      <guid isPermaLink="true">https://melody-coding.tistory.com/944</guid>
      <comments>https://melody-coding.tistory.com/944#entry944comment</comments>
      <pubDate>Thu, 25 Jun 2026 11:38:28 +0900</pubDate>
    </item>
    <item>
      <title>[programmers] 숫자의 표현</title>
      <link>https://melody-coding.tistory.com/943</link>
      <description>&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;문제&lt;br /&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/12924&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://school.programmers.co.kr/learn/courses/30/lessons/12924&lt;/a&gt;&lt;/blockquote&gt;
&lt;figure id=&quot;og_1782178390894&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;프로그래머스&quot; data-og-description=&quot;SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/12924&quot; data-og-url=&quot;https://programmers.co.kr/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bsDjZO/dJMb896dtia/lrzOaIVM08GQ1r767sq9xk/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960,https://scrap.kakaocdn.net/dn/SB5Pv/dJMb84X8vmD/xVtKniyYRpgLtOoFf51gDK/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960&quot;&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/12924&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/12924&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bsDjZO/dJMb896dtia/lrzOaIVM08GQ1r767sq9xk/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960,https://scrap.kakaocdn.net/dn/SB5Pv/dJMb84X8vmD/xVtKniyYRpgLtOoFf51gDK/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;프로그래머스&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;&amp;lt; 숫자의&amp;nbsp;표현 &amp;gt;&lt;/h4&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;문제 풀이&amp;nbsp;&lt;/b&gt;&lt;b&gt;(&lt;span style=&quot;color: #1a5490;&quot;&gt;Java&lt;/span&gt;)&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1782178413039&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution {
	public int solution(int n) {
		int answer = 0;

		for (int i = 1; i &amp;lt;= n; i++) {
			int sum = 0;
			for (int j = i; j &amp;lt;= n; j++) {
				sum += j;
				if (sum == n) {
					answer += 1;
					break;
				} else if (sum &amp;gt; n) {
					break;
				}
			}
		}
		return answer;
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;연속한 자연수들로 n을 표현하기 위해서는 n이하인 수를 살펴보며 연속된 자연수를 더해 n이 만들어지는지 확인한다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;620&quot; data-origin-height=&quot;130&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vCxO1/dJMcaaeH69Z/cc8TTyTu7o0mLvKnIjU4ZK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vCxO1/dJMcaaeH69Z/cc8TTyTu7o0mLvKnIjU4ZK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vCxO1/dJMcaaeH69Z/cc8TTyTu7o0mLvKnIjU4ZK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvCxO1%2FdJMcaaeH69Z%2Fcc8TTyTu7o0mLvKnIjU4ZK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;620&quot; height=&quot;130&quot; data-origin-width=&quot;620&quot; data-origin-height=&quot;130&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;출처: 프로그래머스 코딩 테스트 연습,&amp;nbsp;&lt;br /&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/challenges&quot;&gt;https://school.programmers.co.kr/learn/challenges&lt;/a&gt;&lt;/blockquote&gt;</description>
      <category> Algorithm/ programmers</category>
      <category>java</category>
      <category>programmers</category>
      <category>숫자의 표현</category>
      <category>프로그래머스</category>
      <author>뿌야._.</author>
      <guid isPermaLink="true">https://melody-coding.tistory.com/943</guid>
      <comments>https://melody-coding.tistory.com/943#entry943comment</comments>
      <pubDate>Tue, 23 Jun 2026 10:36:28 +0900</pubDate>
    </item>
    <item>
      <title>[programmers] 연속 부분 수열 합의 개수</title>
      <link>https://melody-coding.tistory.com/942</link>
      <description>&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;문제&lt;br /&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/131701&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://school.programmers.co.kr/learn/courses/30/lessons/131701&lt;/a&gt;&lt;/blockquote&gt;
&lt;figure id=&quot;og_1782091240815&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;프로그래머스&quot; data-og-description=&quot;SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/131701&quot; data-og-url=&quot;https://programmers.co.kr/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dWa2vV/dJMb8SpRFIX/oFLrh2Pl0EybBUpiZDioA1/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960,https://scrap.kakaocdn.net/dn/f6Oqq/dJMb9c9HoXV/j1SlIaRwn5zY2al5pqP1kK/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960&quot;&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/131701&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/131701&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dWa2vV/dJMb8SpRFIX/oFLrh2Pl0EybBUpiZDioA1/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960,https://scrap.kakaocdn.net/dn/f6Oqq/dJMb9c9HoXV/j1SlIaRwn5zY2al5pqP1kK/img.png?width=1920&amp;amp;height=960&amp;amp;face=0_0_1920_960');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;프로그래머스&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;&amp;lt; 연속&amp;nbsp;부분&amp;nbsp;수열&amp;nbsp;합의&amp;nbsp;개수 &amp;gt;&lt;/h4&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;문제 풀이&amp;nbsp;&lt;/b&gt;&lt;b&gt;(&lt;span style=&quot;color: #1a5490;&quot;&gt;Java&lt;/span&gt;)&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1782091260029&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.util.*;

class Solution {
	public int solution(int[] elements) {
		int answer = 0;

		Set&amp;lt;Integer&amp;gt; set = new HashSet&amp;lt;&amp;gt;();

		for (int i = 0; i &amp;lt; elements.length; i++) {
			int sum = 0;
			for (int j = 0; j &amp;lt; elements.length; j++) {
				sum += elements[(i + j) % elements.length];

				set.add(sum);
			}
		}

		answer = set.size();

		return answer;
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;연속 부분 수열 합의 개수를 중복 없이 구하기 위해 Set을 선언한다. 수열 elements를 처음부터 탐색하며 길이 1부터 길이 elements 크기만큼 연속 부분 수열을 구해 set에 저장한다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;최종 answer에 set의 크기를 저장한 뒤 answer을 반환한다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;636&quot; data-origin-height=&quot;145&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ANul1/dJMcaaTg9y1/ct2UBIVq67LxzArN6SttX0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ANul1/dJMcaaTg9y1/ct2UBIVq67LxzArN6SttX0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ANul1/dJMcaaTg9y1/ct2UBIVq67LxzArN6SttX0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FANul1%2FdJMcaaTg9y1%2Fct2UBIVq67LxzArN6SttX0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;636&quot; height=&quot;145&quot; data-origin-width=&quot;636&quot; data-origin-height=&quot;145&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;color: #666666; text-align: left;&quot; data-ke-style=&quot;style2&quot;&gt;출처: 프로그래머스 코딩 테스트 연습,&amp;nbsp;&lt;br /&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/challenges&quot;&gt;https://school.programmers.co.kr/learn/challenges&lt;/a&gt;&lt;/blockquote&gt;</description>
      <category> Algorithm/ programmers</category>
      <category>java</category>
      <category>programmers</category>
      <category>연속 부분 수열 합의 개수</category>
      <category>프로그래머스</category>
      <author>뿌야._.</author>
      <guid isPermaLink="true">https://melody-coding.tistory.com/942</guid>
      <comments>https://melody-coding.tistory.com/942#entry942comment</comments>
      <pubDate>Mon, 22 Jun 2026 10:23:37 +0900</pubDate>
    </item>
  </channel>
</rss>